Mystery0の小站

Mystery0の小站

KeyCloak添加CAS协议支持

KeyCloak添加CAS协议支持

官方不支持CAS协议,但是社区有相应支持。

https://github.com/jacekkow/keycloak-protocol-cas

使用步骤在README中有写,需要注意的是,必须要与KeyCloak版本匹配,不然部署可能会失败。

如果部署过程中部署失败,错误信息为下面的报错:

"{\"WFLYCTL0080: Failed services\" => {\"jboss.module.service.\\\"deployment.keycloak-protocol-cas-19.0.1.jar\\\".main\" => \"WFLYSRV0179: Failed to load module: deployment.keycloak-protocol-cas-19.0.1.jar
    Caused by: org.jboss.modules.ModuleNotFoundException: org.apache.httpcomponents.httpclient\"}}"

那么需要手动下载一个httpclient的依赖,然后使用命令添加进去。

这里我使用的KeyCloak版本是19.0.1,cas扩展中依赖的httpclient版本为4.5.13

下载地址为: https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar

下载之后放到任意路径,此处我放到KeyCloakstandalone/deployments目录。

然后到KeyCloak的bin目录,执行以下命令:

./jboss-cli.sh --command="module add --name=org.apache.httpcomponents.httpclient --resources={keycloak目录}/standalone/deployments/httpclient-4.5.13.jar"

复制时注意替换相关路径!

安装好module之后,再删除部署目录中的keycloak-protocol-cas-19.0.1.jar.failed 文件,重新触发自动部署,此时就部署成功了。