如何为Adobe AEM配置以Azure AD B2C为IDP的SAML单点登录
Azure AD B2C 作为SAML IDP配置Adobe AEM SSO(无需自定义策略)
先澄清一个关键混淆点:你看到B2C「身份提供商」里没SAML选项,是因为那是用来让B2C作为SP对接外部SAML身份源的入口,而你的需求是让B2C自己当IDP给AEM(SP)提供认证,这个场景用默认的用户流就能搞定,完全不需要自定义策略。
下面是分步实现方案:
一、在Azure AD B2C里配置SAML应用(IDP侧)
- 登录Azure门户,进入你的B2C租户
- 找到「应用注册」,点「新注册」:
- 名称:随便填个好认的,比如「AEM SSO 对接应用」
- 支持的账户类型:根据你的B2C用户池选,比如「仅限此组织目录中的账户」
- 重定向URI:选「SAML」,输入AEM的ACS(断言消费者服务)URL,格式一般是
https://<你的AEM域名>/content/saml_login/jcr:content/post.login.html - 点「注册」
- 进入刚创建的应用,找「单一登录」>「SAML」:
- 编辑「基本SAML配置」:
- 标识符(实体ID):填AEM的实体ID,比如
https://<你的AEM域名>/saml/metadata - 回复URL:就是刚才填的ACS URL
- 注销URL:可选,填AEM的注销回调,比如
https://<你的AEM域名>/content/saml_login/jcr:content/post.logout.html
- 标识符(实体ID):填AEM的实体ID,比如
- 下载「SAML签名证书」(选Base64格式),存好后面要用
- 记好三个关键信息:
- 登录URL(B2C的SAML认证发起地址)
- Azure AD标识符(B2C的实体ID)
- 刚才下载的证书文件
- 编辑「基本SAML配置」:
二、在Adobe AEM里配置SAML SP(SP侧)
- 登录AEM控制台,进入「工具」>「安全」>「SAML 2.0 认证处理程序」
- 新建配置:
- 名称:比如「Azure B2C SSO」
- 实体ID:填你在B2C里设置的AEM实体ID,要完全一致
- IDP实体ID:填B2C的Azure AD标识符
- SSO服务URL:填B2C的登录URL
- IDP证书:上传刚才从B2C下载的Base64证书,或者直接复制证书内容粘贴进去
- ACS URL:填和B2C里一致的AEM ACS URL
- 注销URL:填B2C应用SAML配置里的注销地址
- 属性映射:把B2C返回的SAML断言属性(比如
email、name)对应到AEM的用户属性(比如profile/email、profile/givenName) - 保存配置
- 启用SAML认证:在AEM的「用户认证」设置里,把刚创建的SAML认证处理程序启用,设为默认触发或者按需触发
三、测试SSO流程
- 访问AEM里需要登录的资源,应该会自动跳转到B2C的登录页面
- 输入B2C用户的账号密码,登录成功后会自动跳回AEM,完成认证
- 测试注销:退出AEM,应该会跳转到B2C的注销页面,完成后返回AEM
注意事项
- 全程不用自定义策略:所有操作都是基于B2C的默认用户流,不需要写复杂的XML策略文件
- 细节要对齐:两边的实体ID、ACS URL、证书必须完全匹配,否则会出现认证失败的问题
- 如果遇到断言验证失败,先检查证书是否正确上传,再核对属性映射的字段名是否和B2C返回的一致
内容的提问来源于stack exchange,提问作者AskMe
相关产品推荐
相关产品推荐

