安装Keycloak并启动服务(macOS)

前提:电脑已经安装Java 17+

1、下载Keycloak

2、下载完后解压缩,使用文本编辑器修改配置文件(keycloak/conf/keycloak.conf)

Basic settings for running in production. Change accordingly before deploying the server.

Database

The database vendor.

#db=postgres

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:postgresql://localhost/keycloak

db-url=jdbc:mysql://localhost:3306/keycloak

Observability

If the server should expose healthcheck endpoints.

health-enabled=true

If the server should expose metrics endpoints.

metrics-enabled=true

HTTP

The file path to a server certificate or certificate chain in PEM format.

#https-certificate-file=${kc.home.dir}/conf/server.crt.pem

The file path to a private key in PEM format.

#https-certificate-key-file=${kc.home.dir}/conf/server.key.pem

The proxy address forwarding mode if the server is behind a reverse proxy.

#proxy=reencrypt

Do not attach route to cookies and rely on the session affinity capabilities from reverse proxy

#spi-sticky-session-encoder-infinispan-should-attach-route=false

Hostname for the Keycloak server.

hostname=localhost

3、在命令窗口cd到解压后的keycloak目录,然后使用下面的指令创建一个临时的管理员账号

bin/kc.sh bootstrap-admin user

4、根据提示输入用户名和密码,密码随便设,临时账号后面还要删掉

5、启动keycloak服务

bin/kc.sh start-dev --http-port 8181

6、启动成功会看到下面的信息

Keycloak 26.3.1 on JVM (powered by Quarkus 3.20.1) started in 35.660s. Listening on: http://0.0.0.0:8181.

7、在浏览器输入

http://localhost:8181

8、使用刚刚输入的临时账号密码登录,进入用户页面添加新用户

9、添加用户后在 Credentials 页面设置密码

10、在 Role mapping 页面分配权限

11、退出临时管理账号,使用刚刚创建的账号登录,顶部就不会显示下面这段英文了

You are logged in as a temporary admin user. To harden security, create a permanent admin account and delete the temporary one.

12、删除临时账号

相关推荐
NE_STOP9 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室14 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风16 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme16 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better16 小时前
学会与虚拟机对话---ASM
java
开源之眼18 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31619 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027319 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋20 小时前
DecimalFormat 与 BigDecimal
java·后端
beata20 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端