keycloak搭配mysql

下载

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

安装

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

配置mysql

下载驱动

http://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.13/ mysql

配置wildfly 的 module

建立目录: keycloak-4.6.0.Final\modules\system\layers\base\com\mysql\main\ ,把驱动文件 mysql-connector-java-8.0.13.jar 复制到此目录sql

新建文件:module.xml,内容以下:数据库

module.xml
<? xml  version = "1.0"  encoding = "UTF-8" ?>
< module  name = "com.mysql"  xmlns = "urn:jboss:module:1.5" >
     < resources >
         < resource-root  path = "mysql-connector-java-8.0.13.jar" />
     </ resources >
     < dependencies >
         < module  name = "javax.api" />
         < module  name = "javax.transaction.api" />
         < module  name = "javax.servlet.api"  optional = "true" />
     </ dependencies >
</ module >

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

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

standalone.xml
< driver  name = "h2"  module = "com.h2database.h2" >
     < xa-datasource-class >org.h2.jdbcx.JdbcDataSource</ xa-datasource-class >
</ driver >
< driver  name = "mysql"  module = "com.mysql" >
     < xa-datasource-class >com.mysql.cj.jdbc.MysqlXADataSource</ xa-datasource-class >
</ driver >

查找 datasources一节,修改 jndi-name="java:jboss/datasources/KeycloakDS" 这节的xml,内容以下bash

< 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

创建数据库,确保以下字符集使用maven

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

相关文章
相关标签/搜索