我们有一个辅助AAD,其中有来自主要AAD的来宾用户。为来宾用户生成的令牌似乎丢失了upn声明,但是我们依赖存在upn声明的事实,因为这就是我们用来跨系统映射用户的原因。
我了解来宾的Microsoft Live帐户可能缺少upn,但是这些是完整的AAD帐户,仅在另一个AAD中。微软的文档还建议unique_name声明实际上可能不是唯一的!
https://docs.microsoft.com/zh-CN/azure/active-directory/develop/active-directory-token-and-claims
您能告诉我什么决定了unique_name声明的值吗?
如果upn声明不存在或不是外部来宾用户,使用此声明回退是否安全?
来宾用户令牌内容
{
..,...
"tid": "xxxxxxxx-7ea7-413c-96bc-3f3aba133732",
"unique_name": "testAdmin@xxxxxxxx.onmicrosoft.com",
"ver": "1.0"
}
Run Code Online (Sandbox Code Playgroud)
普通用户令牌内容:
{
......
"tid": "xxxxxxxx-72d8-4715-b14f-990c93843416",
"unique_name": "testAdmin@xxxxxxx.onmicrosoft.com",
"upn": "testAdmin@xxxxxxx.onmicrosoft.com",
"ver": "1.0"
Run Code Online (Sandbox Code Playgroud)
}
我知道您可能希望我们使用“ oid”,但这会导致我们在环境之间出现问题,因为同一用户在每个AAD中的值都不相同。