Keycloak是一个针对现代应用程序和服务的开源身份和访问管理解决方案,点击这里进入官方网站。Keycloak支持单独部署,也支持内嵌的方式集成到Spring Boot 项目中,使用keycloak-dependencies-server-all包,可以很方便的实现。
使用版本:
- JDK 11
- keycloak-dependencies-server-all 17.0.1
- Spring Boot 2.6.4
在这里,不详细列举代码,请参考代码keycloak,下面具体介绍如何运行调试项目。
准备工作
- 安装JDK11+
- 安装MySQL8+
- 建议使用VSCode IDE工具克隆项目到本地
下载后项目图如下:
event-listener-mqtt-provider | Keycloak事件消息发送到MQTT中间件插件 |
keycloak-extensions | Keycloak扩展 |
keycloak-server | Keycloak服务器 |
mail-sender-mqtt-provider | 将邮件发送到MQTT中间件插件 |
mqtt-publisher-provider | 发布消息到MQTT的SPI及插件 |
otp-mail-provider | 基于邮件的OTP登录验证插件 |
otp-sms-provider | 基于短信的OTP登录验证插件 |
springboot-embedded-server | 基于Spring Boot,内嵌式的服务 |
theme-provider | 主题插件 |
本篇文章重点介绍springboot-embedded-server项目,你将学习到如何配置,运行项目。
配置
修改配置文件springboot-embedded-server/src/main/resources/application-dev.yml
修改数据库配置:
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/keycloak-embed?characterEncoding=UTF-8&useSSL=true
username: root
password: root
修改keyclaok配置
keycloak:
custom:
adminUser:
username: admin
password: admin
create-admin-user-enabled: true
migration:
import-enabled: true
import-location: classpath:dubhe-realm.json
启动
在VSCode中启动项目
在启动过程中,会执行如下操作:
- 创建数据库表结构
- 创建登录用户admin
- 导入dubhe realm
重要提示:在第一次启动成功之后,第二次启动项目之前,有必要关闭一些配置项:
登录项目:
在游览器中输入地址:http://localhost:9000/auth 然后使用admin/admin登录即可
在游览器中输入地址:http://localhost:9000/auth/realms/dubhe/account/ 使用zhangs/123登录
总结
完整的项目可以在Gitee找到,欢迎下载。