下载
https://www.keycloak.org/downloads.html 到这里下载最新的服务器版本,本次文章指定版本为: 4.6.0.Final - 发行说明
安装
直接解压缩到某个目录,父目录不带空格即可
配置mysql
下载驱动
http://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.13/
配置wildfly 的 module
创建目录: keycloak-4.6.0.Final\modules\system\layers\base\com\mysql\main\ ,把驱动文件 mysql-connector-java-8.0.13.jar 复制到此目录
新建文件:module.xml,内容如下:
<? xml version = "1.0" encoding = "UTF-8" ?> < resources > </ resources > < dependencies > </ dependencies > </ module > |
配置 keycloak-4.6.0.Final\standalone\configuration\standalone.xml 文件
查找驱动位置:drivers,新增一节mysql的
</ driver > </ driver > |
查找 datasources一节,修改 jndi-name="java:jboss/datasources/KeycloakDS" 这节的xml,内容如下
< datasource jndi-name = "java:jboss/datasources/KeycloakDS" pool-name = "KeycloakDS" enabled = "true" use-java-context = "true" > < connection-url >jdbc:mysql://localhost:3306/keycloak?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8</ connection-url > <!-- 增加时区东八区,增加强制UTF8编码,让其能够写入特殊字符,关闭ssl警告 --> < driver >mysql</ driver > < security > < user-name >zhengbin</ user-name > < password >binzheng00</ password > </ security > </ datasource > |
mysql服务端的配合工作
建立数据库用户,建立时,如果时mysql8.x版本,会强制要求sha2高强度加密的密码。可选关闭,需要修改my.ini文件。当然如果明确掌握此种登录验证方法可以忽略此步骤。
[mysql] default_authentication_plugin = mysql_native_password |
建立数据库,确保如下字符集使用
create database keycloak default character set = "UTF8" default collate = "utf8_general_ci" ; -- 或者如下命令检查数据库是否正确 show create database keycloak; 'keycloak' , 'CREATE DATABASE `keycloak` /*!40100 DEFAULT CHARACTER SET utf8 */' |
utf8mb4库不支持问题
MySQL / MariaDB RH-SSO数据库不支持字符集utf8mb4
详细查看知识库文章: https://access.redhat.com/solutions/3077671 需要注册登录查看
更多关于keycloak搭配mysql相关缺陷在这里了解 https://issues.jboss.org/browse/KEYCLOAK-3439?jql=text%20~%20%22utf8mb4%22
可以启动keycloak环境
登录网页 http://localhost:8080/ 完成初次部署工作
登录中间件网页可做更多javaEE配置工作: http://localhost:9990/
更多keycloak软件管理配置手册参考官方文档 https://www.keycloak.org/docs/latest/server_installation/index.html