Как передать пользовательские атрибуты расширения из Azure Active Directory в токен JWT при входе в систему? - PullRequest
0 голосов
/ 13 мая 2019

У меня есть пользовательские атрибуты расширений в Azure Active Directory (сопоставленные через Azure AD Connect).Атрибуты расширения в Azure AD имеют вид extension_<uniqueid>_<attributename>.

. Я хочу предоставить приложению несколько атрибутов расширения, когда пользователь входит в систему через Open ID Connect.Атрибуты должны быть включены в токен JWT.

Я попытался использовать подход из Страница Microsoft , создав политику и присвоив ее идентификатору принципала службы приложения, которое хочет получитьтокен при входе в систему.

Это команды PowerShell, которые я использовал.

Connect-AzureAD -Confirm

New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true","ClaimsSchema":[{"Source":"user","ID":"extension_uniqueidretracted_extensionAttribute13","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/extensionAttribute13","JwtClaimType":"MyCustomClaim1"},{"Source":"user","ID":"extension_uniqueidretracted_extensionAttribute14","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/extensionAttribute14","JwtClaimType":"MyCustomClaim2"}]}}') -DisplayName "ExtensionAttributeMapping" -Type "ClaimsMappingPolicy"

Add-AzureADServicePrincipalPolicy -Id <ObjectId of the ServicePrincipal> -RefObjectId <ObjectId of the Policy>

Создание и назначение политики работает, но атрибуты по-прежнему не включены в токен.

Что мне делатьнужно сделать чтобы эта работа работала?

1 Ответ

0 голосов
/ 13 мая 2019

Вам необходимо использовать опциональную функцию утверждений, чтобы получить информацию в атрибутах расширения, доступных в токенах доступа.

Перейдите через документ Настройка необязательных утверждений расширения каталога ,который объясняет, как это достигается.

...