如何安装部署Keycloak protocol CAS协议?

Keycloak

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 配置环境

如何部署RHBK的分布式缓存集群?

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/

没有评论

发表回复

Keycloak
如何安装部署Keycloak IP地址验证器?

1 基础知识 1.1 软件简介 – KeycloakIP地址验证器,英文全称keyclo …

Elastic Stack
如何设置Filebeat上传Keycloak的Java类型日志?

1 前言 一个问题,一篇文章,一出故事。 今天遇到需要设置Filebeat上传Java类型的日志,于 …

Keycloak
如何部署Keycloak的themes?

1 前言 一个问题,一篇文章,一出故事。 今天遇到一个项目需要根据用户的AD组进行筛选用户,因此需要 …