1 基础知识
1.1 软件介绍
– keycloak-protocol-cas是适用于Keycloak身份和访问管理的插件
– keycloak-protocol-cas将CAS 3.0单点登陆(SSO)协议作为可用客户端协议添加到Keycloak系统中
– keycloak-protocol-cas实现了登陆协议所需的服务提供商接口(SPI)
1.2 软件特点
– 符合CAS 1.0/2.0/3.0标准的登陆、注销和服务票验证
– 单点注销(SLO)
– JSON和XML响应类型
– 将自定义用户属性映射到CAS断言属性
缺少以下功能,
– SAML请求/响应(CAS 3.0可选)
– 长期票即记住我功能(CAS 3.0可选)
1.3 兼容性
– CAS插件已使用和插件版本相同的Keycloak版本进行测试
– 一般情况下,插件版本应该与Keycloak版本相匹配
1.4 安装
– 下载兼容版本
– 将JAR文件部署到“providers/Keycloak”文件夹并调整权限
– 停止Keycloak服务
– 执行“kc.sh build”命令重新构建安装
– 启动服务“kc.sh start”
注:Quarkus是Keycloak 17.0.0及更高版本的默认分发方式,对于使用WildFly的旧版安装,请参阅旧版README文件。
2 最佳实践
2.1 配置环境
2.2 安装keycloak-protocol-cas
2.2.1 下载软件包
cd ~ wget https://github.com/jacekkow/keycloak-protocol-cas/releases/download/26.2.5/keycloak-protocol-cas-26.2.5.jar
以上只是下载演示,如果下载异常或需要更新的版本,请从如下连接下载,
https://github.com/jacekkow/keycloak-protocol-cas/releases
2.2.2 部署软件包
cd ~
cp keycloak-protocol-cas-26.2.5.jar ${RHBK_HOME}/providers/keycloak-protocol-cas.jar
chown keycloak:keycloak ${RHBK_HOME}/providers/keycloak-protocol-cas.jar
2.2.3 停止Keycloak服务
systemctl stop keycloak
2.2.4 重新构建Keycloak
sudo -u keycloak bash -c "${RHBK_HOME}/bin/kc.sh build --db=mariadb"
正常可见如下提示,
INFO: The following run time options were found, but will be ignored during build time: kc.log, kc.log-file, kc.log-level, kc.db-url, kc.db-username, kc.db-password, kc.proxy-headers, kc.https-certificate-file, kc.https-certificate-key-file, kc.hostname, kc.hostname-admin, kc.cache, kc.cache-stack
Updating the configuration and installing your custom providers, if any. Please wait.
2025-11-24 11:38:28,265 WARN [org.keycloak.services] (build-32) KC-SERVICES0047: privacyidea-authenticator (org.privacyidea.authenticator.PrivacyIDEAAuthenticatorFactory) is implementing the internal SPI authenticator. This SPI is internal and may change without notice
2025-11-24 11:38:33,786 INFO [io.quarkus.deployment.QuarkusAugmentor] (main) Quarkus augmentation completed in 8845ms
Server configuration updated and persisted. Run the following command to review the configuration:
kc.sh show-config
根据提示执行如下命令,
sudo -u keycloak bash -c "${RHBK_HOME}/bin/kc.sh show-config" | grep -i cas
可见如下提示,
kc.provider.file.keycloak-protocol-cas.jar.last-modified = 1763955037997 (Persisted)
2.2.5 重启服务使部署生效
systemctl start keycloak
2.2.6 界面验证插件安装

如上图所示,
单击【Manage realms】->选择非【master】的域
单击【Manage realms】->选择【master】->【Provider info】
如果看到“login-protocol”中包含“cas”即表示keycloak-protocol-cas插件被正确加载
2.2 在Keycloak配置keycloak-protocol-cas插件
关于本章节,笔者由于暂时没有找到合适的登陆应用,因此暂时省略。
参阅文档
===================
https://github.com/jacekkow/keycloak-protocol-cas/
没有评论