プライマリAADのゲストユーザとセカンダリAADがあります。ゲストユーザーのために生成されたトークンは、upn要求を逃しているように見えますが、システム間でユーザーをマッピングするために使用されているように、upn要求が存在するという事実に頼っています。ゲストユーザのUPN要求はどこにありますか?
私はゲストのMicrosoft Liveアカウントでupnが見つからない場合がありますが、これは完全なAADアカウントであり、別のAADであることを理解しています。 Microsoftのマニュアルには、unique_nameクレームが実際にユニークでないかもしれないことが示唆されています!
https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-token-and-claims
あなたはUNIQUE_NAME請求の値を決定するものを教えてもらえますか?
upnの申し立てが存在しない場合、または外部にゲストされているユーザーの場合、フォールバックにこのクレームを使用することは安全ですか?
ゲストユーザートークンコンテンツ
{
..,...
"tid": "xxxxxxxx-7ea7-413c-96bc-3f3aba133732",
"unique_name": "[email protected]",
"ver": "1.0"
}
正規ユーザートークン内容:
{
......
"tid": "xxxxxxxx-72d8-4715-b14f-990c93843416",
"unique_name": "[email protected]",
"upn": "[email protected]",
"ver": "1.0"
}
私はあなたがおそらく私たちは、「OID」を使用するが、これは私たちを引き起こすたいと思います知っています同じユーザーの環境間の問題は、各AADで異なる値になります。
あなたはunique_nameが "一意"ではないということを言いたいと思います。 [トークンクレーム]ページ(https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-token-and-claims)の説明を読んでください。 'トークンの主題を識別する人間が判読可能な値を提供します。この値は、テナント内でユニークであることが保証されておらず、表示目的でのみ使用されるように設計されています。」 –
私の質問の1つは、その値がテナントでどのように計算され、 AAD管理者は、ユーザレコードを変更するために何を行うことができますか?建築家としてもいいし、きれいなネーミングが好きな人にとっても、その主張はなぜunique_nameと呼ばれていますか? –
私たちはまったく同じ状況にあります。今までは 'unique_name'を使用しましたが、この識別子はすべての場合にUPNの値と一致しません。テナントゲストユーザーの場合私たちの解決策は、 'unique_name'にフォールバックを付けて' upn'を使用することと、さらなるGraph APIユーザークエリーに対して、すべてのユーザーにクエリを行い、 'userPrincipalName'と' mail'の両方が一致するかどうかを調べることです。 「unique_name」という名前について、私は個人的にはMicrosoftのドキュメントを読んで笑いました。 – martinjlowm