【问题标题】:Azure AD get Information from ClaimAzure AD 从声明中获取信息
【发布时间】:2020-01-17 12:42:45
【问题描述】:

我使用 Azure AD B2C 身份验证。

var Claims = User.Claims;
var ClientIdClaim = Claims.SingleOrDefault(c => c.Type == ClaimTypes.NameIdentifier);

将对象 ID 还给我。但我还需要用户名。如何访问用户名(标记为黄色)?

【问题讨论】:

  • 通常用户名将存储在Name 声明类型中。所以你应该使用var username = Claims.SingleOrDefault(c => c.Type == ClaimTypes.Name); 找到它
  • 它返回 null
  • 您是否使用 Azure 门户中的“立即运行”链接测试了您的策略?如果您将应用程序注册的回复 URL 配置为 jwt.ms,您将在使用“立即运行”链接后看到生成的令牌。然后,您可以确定电子邮件是否甚至被返回到您的令牌中。如果没有,您需要先配置它。这取决于您使用的是内置策略还是自定义策略。
  • 如果答案对您有帮助,您可以接受它作为答案。这对其他社区成员可能是有益的。谢谢。

标签: asp.net-mvc asp.net-core azure-ad-b2c


【解决方案1】:

您需要检查索赔是否返回给应用程序。转到 azure 门户->您的用户流策略->应用程序声明

此外,您可以使用 Azure 门户中的“立即运行”链接测试您的策略(就像 @Jas Suri 建议的那样)。

您将被重定向到https://jwt.ms/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-23
    • 2021-02-08
    • 2012-10-02
    • 2012-07-22
    • 2016-08-15
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多