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

CAS 6.6.15集成pac4j后Google/Facebook登录重定向异常

问题排查与解决方案

核心问题

升级Apereo CAS至v6.6.15(搭配pac4j v5.4.6)后,使用Google/Facebook委托登录时,回调URL仍指向旧域名test-sso.domain.com.uy/cas/login,无法按配置跳转到指定的新域名SSO首页,且找不到旧域名的配置来源。

当前依赖与配置

build.gradle依赖(存在拼写错误)

implementation org.apereo.cas:cas-server-support-rest-authentication
implementation org.apereo.cas:cas-server-support-pac4j-authentication
// 注意:此处存在拼写错误,mplementation需改为implementation
implementation org.apereo.cas:cas-server-support-json-service-registry
    
implementation org.apereo.cas:cas-server-core
implementation org.apereo.cas:cas-server-core-authentication
implementation org.apereo.cas:cas-server-core-authentication-api
implementation org.apereo.cas:cas-server-core-api-authentication
implementation org.apereo.cas:cas-server-core-web-api   
   
implementation org.apereo.cas:cas-server-support-pac4j-webflow
implementation org.apereo.cas:cas-server-support-pac4j-core

cas.properties相关配置

cas.authn.pac4j.google.callback-url=https://aws-sso.domain.com/[指定路径]
cas.authn.pac4j.facebook.callback-url=https://aws-sso.domain.com/[指定路径]

排查与修复步骤

1. 修正依赖拼写错误

将build.gradle中拼写错误的mplementation改为implementation,确保cas-server-support-json-service-registry依赖被正确引入,避免服务注册或配置加载异常。

2. 检查CAS全局域名配置

CAS v6.6.x中,全局服务器域名是生成回调URL的基础,需确认以下属性已更新为新域名:

cas.server.name=https://aws-sso.domain.com
cas.server.prefix=/cas

若未显式配置cas.authn.pac4j.*.callback-url的完整域名,CAS会自动拼接此全局域名,旧域名可能由此残留。

3. 补全回调URL配置

确保cas.authn.pac4j.google.callback-url和cas.authn.pac4j.facebook.callback-url配置完整的URL,例如:

cas.authn.pac4j.google.callback-url=https://aws-sso.domain.com/cas/login
cas.authn.pac4j.facebook.callback-url=https://aws-sso.domain.com/cas/login

仅配置路径会导致CAS自动拼接旧的全局域名,引发跳转异常。

4. 清理缓存与遗留配置

  • 清理CAS服务器临时缓存目录(默认/cas/temp)及Tomcat的work目录,避免旧配置残留。
  • 排查类路径下是否存在其他cas.properties文件(如Tomcat的lib目录、非默认资源目录),这类文件可能覆盖当前配置。
  • 检查JSON服务注册中心的services目录,确认所有服务定义中的回调地址已更新为新域名。

5. 检查第三方平台配置

登录Google Cloud Console和Facebook开发者平台,确认OAuth应用的回调URL已更新为新域名https://aws-sso.domain.com/cas/login,第三方平台的旧配置也会导致跳转异常。

6. 校验Tomcat代理配置

若CAS部署在反向代理后,需检查Tomcatserver.xml中Connector的代理配置:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="443"
           proxyName="aws-sso.domain.com"
           proxyPort="443"
           scheme="https"/>

确保proxyName和proxyPort设置为当前新域名及端口,否则CAS会从请求头或Tomcat配置中读取旧域名。

7. 启用调试日志定位问题

在cas.properties中添加调试配置,重启CAS后查看日志,确认配置加载情况:

logging.level.org.apereo.cas=DEBUG
logging.level.org.pac4j=DEBUG

通过日志可排查是否读取到正确的回调URL,以及是否有旧配置被加载的痕迹。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:54:51