Мой вопрос сводится к тому, могу ли я обновить претензии пользователя при переключении между приложениями? Из того, что я могу сказать, ответ, скорее всего, «нет». Я сделал танец, чтобы добавить «claimTypeRequired», но это бесполезно.
Скажем, у меня есть несколько приложений: App1, App2, App3, App4, App5.
Похоже, что AD FS больше не срабатывает после того, как вы проходите аутентификацию в каком-либо приложении, и нет другого выхода, кроме выхода из системы, да? Таким образом, я должен получить все претензии для всех приложений, независимо от того, в какое приложение я вхожу. В качестве примечания я создаю эти утверждения с помощью хранимой процедуры SQL из AD FS. usp_GetAppClaims @AppID = 1, @UserGuid = 'GUID'
Я храню набор утверждений для каждого приложения в соответствующем URI, который содержит несколько значений. Аналогично утверждению «Роли». Например:
- http://schemas.MyCompany.com/identity/claims/App1
– - Значение1
-- Значение2 - http://schemas.MyCompany.com/identity/claims/App2
– - Значение1
-- Значение2
-- Значение3 - http://schemas.MyCompany.com/identity/claims/App3
- http://schemas.MyCompany.com/identity/claims/App4
- http://schemas.MyCompany.com/identity/claims/App5
Я делаю это более трудным, чем это должно быть? Меня немного беспокоит размер токена, если мне нужно иметь все претензии. 20 приложений, каждое с 10-50 претензиями... Максимум 4kb Cookie, верно? Может быть, это не имеет значения по большей части.