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

WSO2能否将CAS、SAML两个身份提供商整合实现统一单点登录?

WSO2 CAS与SAML跨协议SSO解决方案

核心原理

你遇到的登录状态不互通问题,本质是CAS和SAML的认证流程没有共用WSO2 Identity Server的全局会话。WSO2的全局登录会话独立于具体认证协议,只要两套协议的流程都优先校验全局会话是否有效,有效则直接返回对应协议的认证响应,无需二次登录,即可实现跨协议SSO。

前置要求

你的WSO2 Identity Server版本需为5.7.0及以上,旧版本存在跨协议会话共享缺陷,需要先升级到兼容版本。

具体配置步骤

  • 修改全局配置文件
    打开<IS_HOME>/repository/conf/deployment.toml,添加/更新以下配置:
    [authentication]
    enable_common_auth = true
    session_data_persist = true
    session_timeout = "3600" # 全局会话有效期,单位秒,可按需调整
    
    [cas]
    enable_sso_sessions = true
    use_common_auth_session = true
    
    [saml]
    enable_sso_sessions = true
    use_common_auth_session = true
    
  • 对齐服务提供商配置
    • CAS对接的SP:统一使用WSO2公共CAS端点https://<你的WSO2域名>/cas作为登录地址,不要使用自定义独立登录入口
    • SAML对接的SP:开启Enable Single Sign On配置,SP级别的会话超时时间保持和全局会话一致,不要设置单独的会话有效期覆盖全局规则
  • 对齐身份源映射
    确保CAS和SAML的用户声明映射规则完全一致,都使用AD的同一个唯一标识字段(如sAMAccountName)作为用户ID,避免同个用户在两套协议中被识别为不同账号
  • 重启WSO2 Identity Server实例,所有配置生效

验证流程

  1. 清空浏览器缓存与Cookie,先访问CAS对接的SP完成登录
  2. 同一浏览器窗口打开SAML对接的SP,确认无需二次登录即可直接访问
  3. 清空缓存后反向验证:先登录SAML对接的SP,再访问CAS对接的SP,确认可以直接访问

异常排查

如果配置后仍无法实现互通,优先检查以下项:

  • 确认COMMON_ID_AUTH Cookie的域名、路径配置正确,CAS和SAML端点都在同一个父域名下,避免Cookie跨域无法读取
  • 排查是否存在自定义认证流程脚本,若有需要补充全局会话校验逻辑,不要跳过默认的会话校验步骤
  • 确认AD返回的用户属性没有冲突,两套协议拿到的用户唯一ID完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:45:07