You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WLP与OpenLiberty无法使用LtpaToken2作为SSO Cookie名问题咨询

问题根因

该行为是WebSphere Liberty(WLP)与OpenLiberty的内置安全设计逻辑,并非配置错误或OIDC特性导致的异常,触发逻辑如下:

  • 当实例启用oidcClient(OIDC依赖方)、socialLogin、多安全域三类特性/配置中的任意一项时,webAppSecurity配置下的ssoCookieNameAutoGenerate参数会被默认置为true
  • 该逻辑的设计目的是避免同域名下多个独立认证体系的SSO Cookie互相覆盖:传统WebSphere、旧版Liberty默认均使用LtpaToken2作为SSO Cookie名,如果同域下存在多套密钥配置不同的服务,会出现Cookie串用、认证失败、越权访问风险,自动生成WAS_<随机后缀>格式的唯一Cookie名可从底层隔离不同安全上下文的认证状态
  • 手动配置ssoCookieName="LtpaToken2"被覆盖的原因是:当ssoCookieNameAutoGenerate=true时,若用户手动指定的Cookie名是默认保留值LtpaToken/LtpaToken2,运行时会直接忽略该配置,强制替换为随机生成的WAS前缀名,该逻辑在早期版本官方文档中未明确标注,属于文档遗漏。

配置被覆盖时会输出如下审计日志:

[AUDIT] CWWKS9112A: The web application security settings have changed.The following properties were modified: ssoCookieName=WAS_p1887216770

配置方案

如果需要统一使用LtpaToken2作为多实例间的SSO Cookie(需满足前提:所有跨实例SSO的WLP/OpenLiberty实例使用完全一致的LTPA密钥、同域部署、属于同一信任域,无同域其他独立认证系统的Cookie冲突风险),只需在server.xml的webAppSecurity节点显式关闭Cookie名自动生成即可:

<webAppSecurity
  ssoCookieName="LtpaToken2"
  ssoCookieNameAutoGenerate="false"
/>

配置完成后重启实例,日志中不会再出现CWWKS9112A强制修改Cookie名的记录,浏览器侧会正常生成LtpaToken2Cookie,多实例间OIDC SSO可正常跨实例生效。

注意事项
  • 若未满足同LTPA密钥、同信任域的前提,关闭自动生成逻辑会导致随机登录失败、跨实例跳转重复鉴权的问题
  • 若部署环境同域下存在其他独立的传统WebSphere/旧版Liberty应用,不建议关闭该自动生成特性,避免Cookie冲突
  • 如果配置自定义的非默认Cookie名(非LtpaToken/LtpaToken2),即使ssoCookieNameAutoGenerate保持默认true,运行时也不会覆盖自定义配置,仅当指定的Cookie名为上述两个默认保留名时才会触发强制替换。

内容的提问来源于stack exchange,提问作者Kuper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 10:51:22