keycloak搭配mysql
阅读原文时间:2023年07月10日阅读:1

https://www.keycloak.org/downloads.html 到这里下载最新的服务器版本,本次文章指定版本为: 4.6.0.Final - 发行说明

直接解压缩到某个目录,父目录不带空格即可

下载驱动

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,内容如下:

module.xml

<?``xml version``=``"1.0" encoding``=``"UTF-8"``?>

<``module name``=``"[com.mysql](http://confluence.e-lead.cn/pages/com.mysql)" xmlns``=``"urn:jboss:module:1.5"``>

<``resources``>

<``resource-root path``=``"[mysql-connector-java-8.0.13.jar](http://confluence.e-lead.cn/pages/mysql-connector-java-8.0.13.jar)"``/>

</``resources``>

<``dependencies``>

<``module name``=``"[javax.api](http://confluence.e-lead.cn/pages/javax.api)"``/>

<``module name``=``"[javax.transaction.api](http://confluence.e-lead.cn/pages/javax.transaction.api)"``/>

<``module name``=``"[javax.servlet.api](http://confluence.e-lead.cn/pages/javax.servlet.api)" optional``=``"true"``/>

</``dependencies``>

</``module``>

配置 keycloak-4.6.0.Final\standalone\configuration\standalone.xml 文件

查找驱动位置:drivers,新增一节mysql的

standalone.xml

<``driver name``=``"h2" module``=``"[com.h2database.h2](http://confluence.e-lead.cn/pages/com.h2database.h2)"``>

<``xa-datasource-class``>[org.h2.jdbcx.JdbcDataSource](http://confluence.e-lead.cn/pages/org.h2.jdbcx.JdbcDataSource)</``xa-datasource-class``>

</``driver``>

<``driver name``=``"mysql" module``=``"[com.mysql](http://confluence.e-lead.cn/pages/com.mysql)"``>

<``xa-datasource-class``>[com.mysql.cj.jdbc.MysqlXADataSource](http://confluence.e-lead.cn/pages/com.mysql.cj.jdbc.MysqlXADataSource)</``xa-datasource-class``>

</``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&amp;serverTimezone=GMT%2B8&amp;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环境

cd [keycloak-4.6.0.Final](http://confluence.e-lead.cn/pages/keycloak-4.6.0.Final)

bin\[standalone.bat](http://confluence.e-lead.cn/pages/standalone.bat)

登录网页  http://localhost:8080/  完成初次部署工作

登录中间件网页可做更多javaEE配置工作: http://localhost:9990/

更多keycloak软件管理配置手册参考官方文档  https://www.keycloak.org/docs/latest/server_installation/index.html

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章