【问题标题】:Where's the Key for My Azure AD B2C Token?我的 Azure AD B2C 令牌的密钥在哪里?
【发布时间】:2018-01-19 06:16:56
【问题描述】:

我是 following this guide 并使用 jwt.io chrome 插件,但我找不到我的密钥,因此我可以手动验证签名。

JWT 标头

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "c9HOlAkfaBs4YSKZ7RoMnZlKrVzdkXHB2QoLv1fETQ8"
}

OpenID Connect metadata document 将我引至https://login.microsoftonline.com/common/discovery/v2.0/keys,但该回复没有这个孩子。

我也引用了这个blog post

【问题讨论】:

    标签: jwt azure-ad-b2c


    【解决方案1】:

    用于检索 Azure AD B2C 租户密钥的 URL 具有以下格式:

    https://login.microsoftonline.com/te/<tenantName>.onmicrosoft.com/b2c_1_<policyName>/discovery/v2.0/keys
    

    例如:

    https://login.microsoftonline.com/te/fabrikamb2c.onmicrosoft.com/b2c_1_edit_profile/discovery/v2.0/keys

    请注意,密钥和 URL 都不同于常规 Azure AD 和 Azure AD 的 v2.0 端点(后者是您在问题中引用的 URL)。

    此时,所有built-in policies(甚至跨租户)的密钥都使用相同的密钥,但在custom policies 的情况下,您会看到每个租户甚至在某些情况下,每个策略的不同密钥。

    重要提示:鉴于 Azure AD B2C 中的密钥采用不同的格式,您将无法使用开箱即用的 jwt.io 来验证 Azure AD B2C 令牌。 见Azure AD B2C - Token validation does not work

    【讨论】:

    • 这行得通,但我不知所措。为什么我不能按照指南?是不是已经过时了?
    • 您正在查看与 Azure AD B2C 不同的(regluar)Azure AD v2 端点的文档。它们有不同的元数据 URL 和键。
    • 明白了,谢谢!这里:Azure AD B2C: Token reference
    【解决方案2】:

    这个答案已经很老了,截至 2021 年 10 月的 URL 现在是:

    https://&lt;tenantName&gt;.b2clogin.com/&lt;tenantName&gt;.onmicrosoft.com/b2c_1_&lt;policyName&gt;/discovery/v2.0/keys

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 2017-11-23
      • 2020-12-01
      • 1970-01-01
      • 2018-01-08
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 2019-08-24
      相关资源
      最近更新 更多