使用token.encapsulated和SAML用户同步的AEM 6.5 LTS中的身份验证失败
本文介绍如何解决Adobe Experience Manager (AEM) 6.5 LTS Publisher实例中使用令牌封装和SAML用户同步时发生的身份验证失败。
描述 description
环境
Adobe Experience Manager (AEM) 6.5 LTS发布者
受影响的捆绑包版本:
- com.day.crx.sling.crx-auth-token: 2.7.1.V660-B0006
- com.adobe.granite.auth.saml: 1.0.59.V660-B0006
- cq-authhandler: 5.6.92.V660-B0006
- org.apache.sling.auth.core: 1.6.2
问题/症状
根据com.day.crx.security.token.impl.impl.TokenAuthenticationHandler配置中token.encapsulated属性的值,在升级验证期间可能会发生身份验证失败:
- 使用
token.encapsulated=true时,身份验证失败,因为TokenReader拒绝旧版格式的登录令牌,它需要一个三段封装的令牌。 - 使用
token.encapsulated=false时,解决了令牌格式错误,但在生成登录令牌期间,对非活动用户或需要SAML同步的用户进行身份验证失败。
标准身份验证和基于SAML的身份验证都可能受到影响,这可能会阻止升级验证活动。
原因
AEM 6.5 LTS Publisher的令牌身份验证逻辑中的回归导致旧版和封装的令牌格式之间不兼容,并且在存在某些捆绑版本时影响SAML用户同步。
解决方法 resolution
请按照以下步骤解决问题。
- 检查AEM 6.5 LTS发布器实例上
com.day.crx.security.token.impl.impl.TokenAuthenticationHandler配置中token.encapsulated属性的值。 - 如果由于旧令牌格式错误导致身份验证失败
token.encapsulated=true,请设置token.encapsulated=false以绕过初始令牌分析错误。 - 如果非活动用户或需要同步的用户的SAML用户同步失败,请验证您的环境是否正在运行上面列出的受影响的捆绑包版本。
- 查看最新的公共AEM 6.5 LTS发行说明和修补程序文档,确定您的捆绑包版本是否提供了公共修补程序。 如果有公共修补程序,请按照官方说明应用。
- 如果没有可用的公共修补程序,或者如果在应用可用更新后问题仍然存在,请联系Adobe支持部门,提供您的环境详细信息和发现的症状,以获取进一步帮助。
- 进行更改后,验证标准用户和SAML同步用户的身份验证,以确认问题已得到解决。
相关阅读
recommendation-more-help
experience-cloud-kcs-help-kbarticles