Azure AD B2C与外部B2C集成作为身份提供商的可行性及文档咨询
B2C 与 B2C 对接实现方案
可行性结论
完全可以实现Azure AD B2C之间的对接,让外部B2C作为你的B2C租户的外部身份提供商(IDP),用来验证那些归属域名由外部B2C管理的用户。核心是通过SAML 2.0协议完成双向配置——外部B2C作为SAML IDP提供认证服务,你的B2C作为SP(服务提供商)接入这个IDP。
具体实现步骤
- 第一步:把外部B2C配置成SAML IDP
在外部B2C租户里,创建一个SAML类型的应用注册,指向你的B2C租户作为服务提供商。配置SAML断言的属性映射(比如用户邮箱、姓名、唯一ID等),然后导出这个IDP的元数据文件,或者记录下实体ID、登录URL、签名证书这三个关键参数。 - 第二步:在你的B2C中添加外部SAML IDP
进入你的B2C租户的“身份提供商”设置,新增一个SAML类型的IDP。可以直接导入外部B2C的元数据文件,或者手动填入刚才记录的三个参数。同时要配置属性映射,把外部B2C返回的SAML断言属性对应到你的B2C用户属性上(比如把email映射到signInNames.emailAddress)。 - 第三步:配置用户流/自定义策略
在你的B2C用户流(比如注册登录流)里启用这个新增的SAML IDP。如果需要针对特定域名的用户自动跳转,可以在用户流中设置“域名提示”规则——当用户输入属于外部B2C管理的域名时,直接引导到外部B2C进行认证。如果用自定义策略,需要在TrustFrameworkExtensions.xml里添加该SAML IDP的声明提供程序配置,并在用户旅程中加入IDP选择步骤。
关键注意事项
- 回调URL(回复URL)必须设置正确:格式为
https://<你的B2C租户名>.b2clogin.com/<你的B2C租户名>.onmicrosoft.com/<用户流ID>/samlp/sso/assertionconsumer,这个要在外部B2C的SAML应用注册里配置好,否则会出现回调失败的问题。 - 属性映射要匹配:确保外部B2C返回的用户属性能被你的B2C正确识别,必要时可以在外部B2C的应用注册里自定义SAML断言的输出属性。
- 测试时要验证用户关联:确认外部B2C的用户在你的B2C中能正确创建记录或关联已有账户,避免出现重复用户的问题。
集成文档参考逻辑
目前没有专门针对“B2C到B2C”的独立文档,但可以通过组合两类官方文档来完成配置:
- 按照“将外部SAML IDP接入Azure AD B2C”的通用流程操作,把外部B2C当作普通的SAML IDP处理。
- 按照“将Azure AD B2C配置为SAML IDP”的指南,在外部B2C租户中完成SAML应用的注册和IDP配置,生成供你的B2C使用的元数据。
内容的提问来源于stack exchange,提问作者Anton Putau
相关产品推荐
相关产品推荐

