SAML 2.0 身份验证处理程序 saml-authentication-handler
AEM附带SAML身份验证处理程序。 此处理程序支持使用HTTP POST
绑定的SAML 2.0身份验证请求协议(Web-SSO配置文件)。
它支持:
- 消息的签名和加密
- 自动创建用户
- 将组同步到AEM中的现有组
- 服务提供商和身份提供程序启动的身份验证
此处理程序将加密的SAML响应消息存储在用户节点( usernode/samlResponse
)中,以促进与第三方服务提供商的通信。
配置SAML 2.0身份验证处理程序 configuring-the-saml-authentication-handler
Web控制台提供对名为 AdobeGranite SAML 2.0身份验证处理程序 的SAML 2.0身份验证处理程序配置的访问权限。 可以设置以下属性。
- 身份提供程序POSTURL,或IDP URL。
- 服务提供商实体ID。
Path Sling应使用此身份验证处理程序的存储库路径。 如果此为空,则将禁用身份验证处理程序。
服务排名 OSGi框架服务排名值指示调用此服务的顺序。 这是一个整数值,其中较高的值表示较高的优先级。
IDP证书别名 全局truststore中IdP证书的别名。 如果此属性为空,则将禁用身份验证处理程序。 有关如何设置证书,请参阅下面的“将IdP证书添加到AEM TrustStore”一章。
IDP的 IDP URL URL应将SAML身份验证请求发送到此处。 如果此属性为空,则将禁用身份验证处理程序。
服务提供商实体ID ID,它使用标识提供程序唯一标识此服务提供商。 如果此属性为空,则将禁用身份验证处理程序。
默认重定向 成功身份验证后要重定向到的默认位置。
request-path
Cookie时使用。 如果您在没有有效登录令牌的情况下请求已配置路径下的任何页面,则请求的路径将存储在Cookie中成功验证后,浏览器将再次重定向到此位置。
用户ID属性 属性的名称,该属性包含用于在CRX存储库中验证和创建用户的用户ID。
saml:Subject
节点中获取,而是从此saml:Attribute
中获取。使用加密 此身份验证处理程序是否需要加密的SAML声明。
自动创建CRX用户 在成功验证后,是否自动创建存储库中的非现有用户。
添加到组 成功身份验证后是否应自动将用户添加到CRX组。
组成员资格 包含此用户应添加到的CRX组列表的saml:Attribute的名称。
将IdP证书添加到AEM TrustStore add-the-idp-certificate-to-the-aem-truststore
SAML断言经过签名并可选择进行加密。 为了使其生效,您必须在存储库中至少提供IdP的公共证书。 为此,您需要:
-
转到 http:/serveraddress:serverport/libs/granite/security/content/truststore.html
-
按 创建TrustStore链接
-
输入TrustStore的密码,然后按 保存。
-
单击 管理TrustStore。
-
上传IdP证书。
-
记下证书别名。 在下例中,别名为 admin#1436172864930。
将服务提供程序密钥和证书链添加到AEM密钥库 add-the-service-provider-key-and-certificate-chain-to-the-aem-keystore
com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
- 转到:http://localhost:4502/libs/granite/security/content/useradmin.html
- 编辑
authentication-service
用户。 - 通过单击 帐户设置 下的 创建KeyStore 来创建KeyStore。
-
为AEM创建证书/密钥对。 通过openssl生成它的命令应类似于以下示例:
openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificate.crt -keyout key.pem
-
将密钥转换为PKCS#8格式并采用DER编码。 这是AEM密钥库所需的格式。
openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.der -nocrypt
-
通过单击 选择私钥文件 上载私钥文件。
-
通过单击 选择证书链文件 上载证书文件。
-
分配别名,如下所示:
为SAML配置记录器 configure-a-logger-for-saml
您可以设置日志记录器,以调试因错误配置SAML导致的任何问题。 您可以执行以下操作来实现此目标:
-
转到Web控制台,网址为 http://localhost:4502/system/console/configMgr
-
搜索并单击名为 Apache Sling日志记录器配置 的项目
-
使用以下配置创建日志程序:
- 日志级别: 调试
- 日志文件: logs/saml.log
- 记录器: com.adobe.granite.auth.saml