1. 基础依赖
a. docker mysqlb. 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/shmysql -uroot -proot use keycloakupdate 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-restapp-springboot
修改配置
service-springboot-rest
server.port = 8081keycloak.realm= quickstartkeycloak.auth-server-url= http://xxxxxxxx:8084/authkeycloak.ssl-required= nonekeycloak.resource= product-servicekeycloak.public-client= truekeycloak.securityConstraints[0].authRoles[0] = userkeycloak.securityConstraints[0].securityCollections[0].patterns[0] = /products
app-springboot
server.connection-timeout=5000spring.freemarker.cache=falseserver.port = 8080keycloak.realm=quickstartkeycloak.auth-server-url=http://xxxxxx:8084/authkeycloak.ssl-required=nonekeycloak.resource=app-springbootkeycloak.public-client=trueproduct.service.url=http://localhost:8081/products
备注: 需要在keycloak 添加对应的user 已经给予用户role
登录跳转,查看到的用户session
6. 总结
keycloak 使用起来还是比较简单的,系统集成的功能也是比较多的
7. 参考资料
https://github.com/keycloak/keycloak-quickstartshttp://www.keycloak.org/documentation.htmlhttps://github.com/rongfengliang/springboot-keycloak