【问题标题】:Azure AD Claims - Retrieve usernameAzure AD 声明 - 检索用户名
【发布时间】:2020-02-28 20:01:21
【问题描述】:

我在应用服务上有一个 Web 应用程序,并且我正在使用 AAD B2C 进行身份验证。我唯一的身份提供者是本地帐户 - 用户注册。我正在尝试从 JWT 令牌中检索用户的用户名并将其添加为声明,但不确定在哪里执行此操作。如何添加声明以查找用于注册的用户名?

【问题讨论】:

标签: authentication jwt azure-active-directory claims


【解决方案1】:

您可以通过将NameClaimType设置为preferred_username来获取用户名

new OpenIdConnectAuthenticationOptions
{
    // other configuration
    TokenValidationParameters = new TokenValidationParameters
    {
        NameClaimType = "preferred_username",
    },          
});

然后

User.Identity.Name

将设置为用户名

【讨论】:

  • 我已经在测试租户和应用程序上尝试过这个并且它可以工作,但是当切换到另一个租户(我的客户)时它不再工作了。它是否依赖于 Azure AD 配置?
  • 我试过了,没用。
【解决方案2】:

很遗憾,无法选择用户名作为在令牌中传递的声明。

此外,Azure AD 团队表示这目前不在他们的路线图中。解决方法是通过AD graph api调用来检索它。

参考:

include username in JWT claims

AD Graph API explorer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2021-09-19
    • 2019-03-04
    • 2016-02-14
    • 1970-01-01
    • 2018-03-03
    • 2018-05-14
    相关资源
    最近更新 更多