keycloak && docker安裝 &&spring boot 集成使用


1. 基礎依賴
a. docker  mysql
b. dokcer  keycloak-mysql
 
2. 安裝
 
  mysql (注意實際使用最好使用本地數據卷)
docker run  --name mysql -e MYSQL_DATABASE=keycloak -e MYSQL_USER=keycloak -e MYSQL_PASSWORD=password -e MYSQL_ROOT_PASSWORD=root -d mysql
 
 keycloak-mysql 
docker run  -d --name keycloak  -p:8084:8080 --link mysql:mysql -e MYSQL_DATABASE=keycloak -e MYSQL_USERNAME=keycloak -e MYSQL_PASSWORD=password  -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak-mysql
 
3. 配置
    因為模式是使用的https 所以需要進行登錄系統修改
    登錄數據庫進行修改
  
docker exec -it mysql /bin/sh
mysql -uroot -proot 
use keycloak
update REALM set ssl_required='NONE' where id = 'master'
docker stop keycloak && docker start keycloak or (docker restart keycloak)
 
        
   4. 界面 
 登錄界面
 
操作界面
 
5. spring boot  使用
   參考Git 項目例子  中的spring boot 
https://github.com/keycloak/keycloak-quickstarts
 
   結合的例子  
service-springboot-rest
app-springboot
 
  修改配置
  service-springboot-rest
server.port = 8081
keycloak.realm= quickstart
keycloak.auth-server-url= http://xxxxxxxx:8084/auth
keycloak.ssl-required= none
keycloak.resource= product-service
keycloak.public-client= true
keycloak.securityConstraints[0].authRoles[0] = user
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /products
 
app-springboot
server.connection-timeout=5000
spring.freemarker.cache=false
server.port = 8080
keycloak.realm=quickstart
keycloak.auth-server-url=http://xxxxxx:8084/auth
keycloak.ssl-required=none
keycloak.resource=app-springboot
keycloak.public-client=true
product.service.url=http://localhost:8081/products
 
 備注: 需要在keycloak 添加對應的user  已經給予用戶role 
 登錄跳轉,查看到的用戶session 
 
 
6. 總結
   keycloak 使用起來還是比較簡單的,系統集成的功能也是比較多的
 
7. 參考資料
https://github.com/keycloak/keycloak-quickstarts
http://www.keycloak.org/documentation.html
https://github.com/rongfengliang/springboot-keycloak


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM