【问题标题】:Get preferred_username with microsoft graph API使用 microsoft graph API 获取首选用户名
【发布时间】: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


【解决方案1】:

据我所知,preferred_username 值并未在 v1.0 或 Beta 中被 Graph 公开。

一种可能的解决方法是使用otherMails property。这是一个数组,因此它可能包含给定用户的多个条目。也就是说,任何otherMails 条目都可能不那么“丑陋”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-09
    • 2011-08-12
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多