【发布时间】:2021-04-09 08:34:17
【问题描述】:
我正在尝试通过 Microsoft Office / Azure 的 Graph API 获取用户的首选用户名
如果用户通过企业应用程序使用id_token 登录,我会得到the preferred_username claim。
这包含用户的实际电子邮件地址。
如果我尝试按 ID 单独查找用户,我找不到任何方法来获取该用户名。
似乎与Sign-in to Azure Active Directory using email as an alternate login ID (preview)有关。
有问题的用户正在使用 GitHub 链接帐户,它可能有一个丑陋的 UPN,我不希望在任何地方看到它。相反,我想使用他们的preferred_username。
“丑陋”UPN 示例:
***_gmail.com#EXT#@***gmail.onmicrosoft.com
【问题讨论】:
-
一种方法是让用户使用
displayName,请参见此处:docs.microsoft.com/en-us/graph/api/…。对于您的用例,您需要一个电子邮件地址还是显示名称就足够了? -
preferred_username 通常是 UPN,但并非总是如此,例如GitHub 链接帐户preferred_username 是一个合理的用户名,而 UPN 真的很糟糕 ***_gmail.com#EXT#@***gmail.onmicrosoft.com
标签: azure-active-directory microsoft-graph-api microsoft-graph-sdks microsoft-graph-mail