【发布时间】:2020-12-16 11:58:06
【问题描述】:
我能够使用声明映射将扩展属性添加到 id_token 中。有没有办法在访问令牌中做到这一点? (或者我唯一的选择是为此调用 Graph)?
【问题讨论】:
我能够使用声明映射将扩展属性添加到 id_token 中。有没有办法在访问令牌中做到这一点? (或者我唯一的选择是为此调用 Graph)?
【问题讨论】:
将 claimMappingPolicy 分配给代表客户端应用程序的 servicePrincipal 会将自定义声明添加到 id 令牌中。为了将自定义声明添加到访问令牌中,您需要将 claimMappingPolicy 分配给代表后端 API 的 servicePrincipal,就像您在客户端应用程序中所做的一样。
查看此answer的详细步骤。
请注意,它仅适用于您尝试调用受 AAD 保护的自己的 API 的场景。如果您正在调用 Microsoft Graph,则无法使其正常工作,因为无法从 Microsoft Graph 端配置 claimMappingPolicy。
【讨论】:
$appID = "cleintId of the API" $policyName = "NameOfThePolicy" #service principal of the API $sp = Get-AzureADServicePrincipal -Filter "servicePrincipalNames/any(n: n eq '$appID')" 获得一个服务主体然后发出这个$policy = New-AzureADPolicy -Type "ClaimsMappingPolicy" -DisplayName $policyName -Definition ($claimsMappingPolicy) Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id