下载

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

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的

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

<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环境

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

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

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

最新文章

  1. 《图形学》实验五:改进的Bresenham算法画直线
  2. fastdfs 安装配置
  3. html特殊字符 编码css3 content:&quot;我是特殊符号&quot;
  4. 提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载
  5. Android系统兼容性问题(持续更新)
  6. Luci中cbi控件类型总结
  7. asp.net 获取客户机IP地址
  8. 特殊的Python
  9. POJ 2184 Cow Exhibition 01背包
  10. Python开发简单爬虫(一)
  11. JTemplates 的使用
  12. 云 MongoDB 优化让 LBS 服务性能提升十倍
  13. .NET CORE迁移踩坑
  14. react实现删除输入框内容
  15. [原创]Java性能优化权威指南读书思维导图2
  16. mysql创建存储过程,批量建表分表00到99
  17. TCP 回顾
  18. 【论文阅读】ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
  19. 前端html用一个表单来映射后台多个对象
  20. 温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)

热门文章

  1. MariaDB和Apache安装
  2. ASI和AFN的区别
  3. Grok Debugger安装配置
  4. javaWeb学习总结——文件上传、下载
  5. eNSP 简介及基础操作
  6. 洛谷 题解 CF1151D 【Stas and the Queue at the Buffet】
  7. iPhone唯一标识符
  8. Java instanceof 和 Class.isInstance()区别与应用
  9. 【VUE】自定义组件
  10. python学习-for