将AEM从SP18升级到SP22后,SSO失败

将Adobe Experience Manager (AEM)从Service Pack 18升级到Service Pack 22后,单点登录(SSO)停止工作。 即使IMS OAuth服务器成功生成令牌,日志仍显示身份验证错误。 要修复此问题,请通过删除不支持的session范围来更新OSGi配置,并验证IMS设置。

描述 description

环境

  • 产品: Adobe Experience Manager (AEM) Managed Services
  • 版本:6.5,Service Pack (SP) 22

问题/症状

将AEM从SP 18升级到SP 22后,单点登录(SSO)功能停止工作。 在日志中观察到以下错误消息:

  • 无法检索用户标识;无法进行身份验证
  • j_reason参数值“身份验证失败”无法映射到有效的原因消息

令牌响应由IMS OAuth服务器成功生成,但在用户标识检索期间失败。

解决方法 resolution

要解决此问题:

  1. 查看和更新OSGi配置:

    • 转到/system/console/configMgr
    • 查找com.adobe.granite.auth.oauth.provider或其特定于IMS的变体的配置。
    • 检查scope属性。
    • 如果包括session,请将其删除。 session范围通常用于指示客户端需要访问与会话相关的数据。 这可能包括特定于用户的数据,例如身份验证令牌、用户偏好设置或其他应在同一会话内的交互之间保留的数据。 因此,建议将其删除。
    • 保存更新的配置。
  2. 验证IMS设置:

    • 确保正确配置实例ID、所属实体和服务代码。
    • 确认与AEM SP22中的产品配置文件一致。
  3. 了解范围调整:

    • 如果不支持或不需要,session范围可能会导致问题。
    • 删除不支持的范围可确保与OAuth提供程序的兼容性。
    • 简化的范围设置可减少配置错误并改进性能。
  4. 测试和验证:

    • 进行更改后彻底测试SSO功能。
    • 执行健全性测试以验证基本的SSO操作,如登录、令牌交换和用户标识。
    • 运行回归测试以确保现有功能(如用户会话持久性、基于角色的访问以及与其他AEM模块的集成)继续按预期工作。

相关阅读

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f