# keycloak **Repository Path**: naclnezn/keycloak ## Basic Information - **Project Name**: keycloak - **Description**: keycloak是一个开源的进行身份认证和访问控制的软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-10 - **Last Updated**: 2024-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # keycloak ## 介绍 keycloak是一个开源的进行身份认证和访问控制的软件。是由Red Hat基金会开发的,我们可以使用keycloak方便的向应用程序和安全服务添加身份认证,非常的方便。 keycloak还支持一些高级的特性,比如身份代理,社交登录等等 ## 环境准备 ```shell docker run -d \ -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ quay.io/keycloak/keycloak:18.0.2 start-dev ``` 登录到控制台Console ```http://192.168.0.234:8080/admin``` 使用 -e 创建的用户名和密码登录。(admin/admin) ### 创建一个新的域 ![img.png](imgs/1728534860984.png) ![img_1.png](imgs/1728534902585.png) ### 创建一个新的客户端 ![1728534920984.png](imgs/1728534920984.png) ![1728534939385.png](imgs/1728534939385.png) ### 导出配置 ![1728534958684.png](imgs/1728534958684.png) ### 创建一个用户 ![1728534947084.png](imgs/1728534947084.png) ### 设置密码 ![1728535051542.png](imgs/1728535051542.png) ### 设置角色 ![1728535137443.png](imgs/1728535137443.png) ## 测试 先打开 下面的地址 都无需登入即可访问 ```shell http://192.168.0.233:8080 http://192.168.0.233:8081 ``` 再打开```http://192.168.0.233:8080/local``` 进行登录 登录成功后,再输入地址```http://192.168.0.233:8081/remote``` 直接访问 在非单点的情况下,这两个地址需要分别登录,我们成功配置了单点登录,local登录成功后,remote就可以直接访问了,不需要再次登录 ## 流程 当一个请求访问本地应用的某个资源(例如/local这个资源),因为在适配器(application.yml)中配置了该资源需要登录才能访问 而该请求未登录,此时应用会跳转到keycloak的登录页面(适配器中配置了auth-server-url,应用会通过该配置获取客户端上的详细配置,记载了要跳转的登录页面在哪里) 登录成功后,会跳转到某个地址,这里的跳转地址就是我们设置的重定向地址。