Azure AD B2C问题:用户MFA方法中无法查看手机号详情
关于Azure AD B2C手机号MFA存储及同步到Authentication Methods的问题
一、手机号的存储位置
你通过自定义策略配置的手机号MFA,默认存在Azure AD B2C用户对象的扩展属性中。这类属性的命名格式通常是extension_<你的B2C扩展应用客户端ID(去掉横杠)>_phoneNumber,因为自定义策略不会将MFA手机号写入Azure AD原生的Authentication Methods存储区——该区域是为Azure AD内置MFA功能设计的,和自定义策略的数据存储相互独立。
二、如何将手机号添加到Authentication Methods中
要让手机号显示在用户的Authentication Methods里,需要通过API手动同步数据,因为自定义策略和Entra ID的Authentication Methods系统没有自动同步机制,具体操作如下:
- 注册有权限的应用:在Microsoft Entra ID中创建应用,授予
UserAuthenticationMethod.ReadWrite.All应用权限(需管理员完成同意)。 - 嵌入同步逻辑到自定义策略:在用户完成手机号MFA注册/更新的用户旅程节点后,新增一个REST API技术配置文件,调用Authentication Methods API的
POST /users/{user-id}/authentication/phoneMethods接口,将用户手机号按格式(如{"phoneType": "mobile", "phoneNumber": "+1234567890"})提交,把手机号添加到用户的Authentication Methods集合中。 - 同步更新操作:若用户后续通过自定义策略修改MFA手机号,需在对应旅程中调用API的更新接口(
PATCH /users/{user-id}/authentication/phoneMethods/{method-id}),保证两端数据一致。
调用API时需使用客户端凭据流获取有效访问令牌,确保请求身份验证通过。
内容的提问来源于stack exchange,提问作者Sachin
相关产品推荐
相关产品推荐

