You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure AD B2C现有用户与外部IDP身份进行关联?

可行的实现方法

方法1:调用Microsoft Graph专用接口添加联邦身份标识

Update user接口确实不支持直接修改identities数组,但微软提供了专门向指定用户追加身份标识的接口,可直接绑定外部IDP身份:

  • 接口地址:POST /users/{用户的Azure AD对象ID}/identities
  • 所需权限:需要提前为调用的应用授予应用权限User.ManageIdentities.All或Directory.ReadWrite.All,委托权限无法调用该接口
  • 请求体示例:
{
  "signInType": "federated",
  "issuer": "你在Azure AD B2C中配置KeyCloak IDP时对应的发行人(issuer)值,需与KeyCloak返回的ID令牌中的iss声明完全一致",
  "issuerAssignedId": "KeyCloak侧对应用户的唯一标识,即ID令牌中的sub声明值"
}

调用成功后,该用户的identities数组中就会新增对应的联邦身份条目,后续用户用KeyCloak账号登录时会直接匹配到这个现有Azure AD用户,不会创建新账号。

方法2:通过自定义策略实现自助/自动关联

如果需要支持用户自助关联,或者批量匹配场景,可以配置Azure AD B2C自定义策略(IEF):在用户通过KeyCloak登录的流程中增加声明转换规则,用邮箱、手机号等唯一属性匹配现有Azure AD用户,匹配成功后自动将联邦身份写入该用户的identities数组,无需手动调用API。


注意事项

  • issuer和issuerAssignedId的组合全局唯一,不能重复绑定到多个Azure AD用户
  • 绑定操作只会追加身份标识,不会覆盖用户原有的本地账号、其他联邦身份等登录方式
  • 绑定完成后可调用GET /users/{用户对象ID}?$select=identities验证绑定结果

内容的提问来源于stack exchange,提问作者Luca Riccitelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:36:01