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

相關文章
相關標籤/搜索