注册后Token声明未出现MFA手机号 仅登录时可返回问题咨询
问题原因
注册流程中完成MFA手机号验证、写入用户目录的环节后,strongAuthenticationPhoneNumber声明没有被保留传递到最终令牌发放的步骤,而登录流程是直接从目录读取该属性,因此可以正常返回。
解决步骤
- 首先找到你的自定义策略中,注册用户旅程里执行MFA手机号验证的编排步骤(通常对应调用
PhoneFactor-InputOrVerify技术配置文件的步骤),在该步骤的<OutputClaims>节点中添加如下配置:
<OutputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
- 接着找到注册流程中执行用户信息写入目录的技术配置文件,通用模板中一般是
AAD-UserWriteUsingLogonEmail,除了原有保留的<PersistedClaims>配置外,在它的<OutputClaims>节点也添加上述相同的输出声明,确保写入目录后该声明仍保留在声明袋中。 - 最后检查用户旅程最后一步发放令牌的相关配置,确保
strongAuthenticationPhoneNumber在该步骤的输出声明列表中,避免声明被截断。
你依赖方中重复配置的两条输出声明可以合并为一条即可:
<OutputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" PartnerClaimType="phone_number" />
修改完成后重新上传自定义策略测试,注册完成后返回的令牌即可正常获取到手机号声明,可通过jwt.ms工具验证内容。
内容的提问来源于stack exchange,提问作者Munazza Osama
相关产品推荐
相关产品推荐

