大约 2 分钟
1.介绍
- Keycloak是一个开源的身份和访问管理解决方案,由红帽公司开发和维护。它提供了诸如单点登录(SSO)、多因素认证、用户管理、权限管理等功能,可以帮助开发人员在他们的应用程序中实现安全的用户身份验证和授权机制。
- Keycloak 支持多种身份验证方法,包括用户名密码认证、LDAP、Active Directory、社交媒体登录(如 Google、Facebook 等)、OpenID Connect 和 SAML 等。它还提供了可扩展的插件机制,允许开发人员根据自己的需求定制认证和授权流程。
- Keycloak 还提供了易于集成的 REST API 和管理控制台,使管理员能够轻松地管理用户、角色和权限。它与各种平台和编程语言兼容,包括 Java、Node.js、Python 等,使其成为一个广泛适用的身份和访问管理解决方案。
- 总的来说,Keycloak 是一个功能强大且易于使用的身份和访问管理平台,为开发人员提供了一种简单而灵活的方式来增强其应用程序的安全性。
2.快速开始
2.1环境准备
- jdk17(跳过)
- keycloak23.0.7版本
根据系统环境下载可执行包或者根据源码打包,这里演示环境是windows系统,下载keycloak-23.0.7.zip
2.2 启动
解压 keycloak-23.0.7.zip
文件后,在 keycloak-23.0.7\bin
目录执行 cmd 命令:
kc.bat start-dev
启动后访问地址:localhost:8080
首次登录需要注册用户,注册后登录成功页面如下图:
3.替换数据源
在 Keycloak 中,默认的数据源是 H2 数据库,这里替换为mysql。
keycloak配置文件路径:keycloak-23.0.7\conf\keycloak.conf
这里替换为mysql数据库:
db=mysql
# The username of the database user.
db-username=root
# The password of the database user.
db-password=123456
# The full database JDBC URL. If not provided, a default URL is set based on the selected database vendor.
db-url=jdbc:mysql://localhost:3306/uiac_dev?characterEncoding=UTF-8
4.存在问题
启动时如果找不到jdk路径则手动指定
在文件
keycloak-23.0.7\bin\kc.bat
添加参数:rem 替换为自己的jdk路径,大概在120左右添加 set "JAVA_HOME=D:\software\java\jdk-17"