Я проверяю его на своей стороне, вы можете выполнить следующие шаги:
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»)
Для получения дополнительной информации, пожалуйста, обратитесь к этому учебнику . В обучающем примере есть три примера, пожалуйста, обратитесь ко второму примеру (Пример: создайте и назначьте политику для исключения базовых c утверждений из токенов, выданных субъекту службы).