10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

下载

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

 

posted on 2019-06-05 22:43  CanntBelieve  阅读(2794)  评论(0编辑  收藏  举报