Есть ли способ добавить sam_account_name пользователя в претензии id_token? - PullRequest
1 голос
/ 20 апреля 2020

Мы пытаемся добавить sam_account_name в id_token текущего пользователя. Это хорошо работает для групп, добавляя следующие строки в манифест приложения:

"optionalClaims": { "idToken": [{ "name": "groups", "additionalProperties": ["dns_domain_and_sam_account_name"] }] }

Мы не нашли ничего похожего для пользователя. Есть ли способ сделать это?

Спасибо

1 Ответ

0 голосов
/ 21 апреля 2020

Я проверяю его на своей стороне, вы можете выполнить следующие шаги:

1. Откройте PowerShell и выполните команду ниже, чтобы подключиться к Azure AD.

Connect-AzureAD

2. Создайте новую политику с помощью этой команды в powershell:

New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"onpremisessamaccountname","SamlClaimType":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name","JwtClaimType":"name"}]}}') -DisplayName "huryTestPolicy" -Type "ClaimsMappingPolicy"

3. Назначьте политику субъекту службы:

Add-AzureADServicePrincipalPolicy -Id <your service principal objectId> -RefObjectId <the objectId of the policy created just now>

4. Пожалуйста, измените свойство acceptMappedClaims в манифесте на true.

5. Затем запросите идентификатор токена , мы можем видеть в нем «onpremisessamaccountname» (на моем скриншоте я использую « предпочитаемый язык » вместо « onpremisessamaccountname », потому что у меня нет «onpremisessamaccountname») enter image description here

Для получения дополнительной информации, пожалуйста, обратитесь к этому учебнику . В обучающем примере есть три примера, пожалуйста, обратитесь ко второму примеру (Пример: создайте и назначьте политику для исключения базовых c утверждений из токенов, выданных субъекту службы).

...