【问题标题】:Missing phone number claim in B2C ID tokenB2C ID 令牌中缺少电话号码声明
【发布时间】:2021-09-23 15:42:00
【问题描述】:

我们让 Azure ADB2C 通过自定义策略连接到外部 IDP,例如 Azure AD。我可以在 B2C 令牌中包含来自 Azure AD 的 given_name、family_name、preferred_username 自定义声明,但是我找不到添加电话号码声明的方法。它不在 Azure AD 服务主体的令牌配置中的自定义声明列表中,就像上面提到的其他三个一样,我也没有在 TrustFrameworkBase.xml 中看到它的声明类型。我们需要在用户的个人资料页面上显示用户的电话号码。

【问题讨论】:

    标签: azure-active-directory azure-ad-b2c openid-connect


    【解决方案1】:

    在 Azure AD B2C 入门包中,电话号码存储在名为 strongAuthenticationPhoneNumber 的声明中。

    要为您的令牌添加声明,请参阅link

    将此添加到您的依赖方部分,在 outputClaims 下:

    <OutputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
    

    【讨论】:

    • 这似乎是用于多因素身份验证的声明。将其添加到自定义策略不会从目录中提取常规的 Office 或 Mobile 电话号码。
    • 你把电话号码写到什么属性了?您可以使用AAD-UserReadUsingObjectId 技术配置文件读取属性,只需在此处添加outputClaim。最后在依赖方部分添加outputClaim 以将声明放入令牌中。这可以通过你喜欢的任何属性来实现。
    • 电话号码属性的名称是什么?我在基本政策的任何地方都看不到它。 PartnerClaimType 是什么?
    • 您需要使用Graph API返回用户并检查您存储数字的属性名称。可能在名为mobilestrongAuthenticationPhoneNumber的属性中。 partnerClaimType 是返回用户对象时通过 Graph API 返回的属性名称。在这种情况下,mobilestrongAuthenticationPhoneNumber
    • 从外部 IDP(尤其是 Azure AD)读取电话号码时,这些都不起作用。不过,我们可以从 Okta 那里得到它。我们刚刚向 MS 提出了一个支持案例,他们建议向 Azure AD 团队提出支持请求。
    猜你喜欢
    • 2021-04-27
    • 2020-11-05
    • 2020-02-13
    • 2023-03-26
    • 2019-09-22
    • 2021-02-13
    • 1970-01-01
    • 2021-07-25
    • 2018-02-07
    相关资源
    最近更新 更多