Keycloak基于OAuth 2.0、Open ID Connect、JSON Web Token(JWT)和SAML 2.0规范,为浏览器应用和RESTful Web Service提供SSO和IDM集成。java
keycloak最新的版本为3.3.0
首先安装数据库,假设使用的为postgres,容器名为postgresdocker
下载docker镜像docker pull jboss/keycloak:3.3.0.Final
数据库
而后经过如下命令建立容器:浏览器
docker run --name keycloak -d -p 443:443 -p 9990:9990 -p 8080:8080 \ --link postgres:postgres -e POSTGRES_DATABASE=keycloak \ -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=keycloakxxxx \ -e TZ=Asia/Shanghai -v /etc/localtime:/etc/localtime \ --restart=always jboss/keycloak:3.3.0.Final
其中指定了数据库,时区等参数。eclipse
这样建立出来的应该能够使用了。若是你想使用中文界面能够经过Realm Settings
的Themes开启[Internationalization Enabled](*每一个realm单独设置)
如图post
这时,在登陆画面已经支持了,另外用户还须要另配一个。要否则登陆后仍是英文界面。spa
以上是修改配置,改完后,从新登陆,一切正常的话。后面的也就不用看了。rest
若是不当心乱码了,能够能过如下的调整,让它回复正常。code
1.把docker里面的keycloak文件复制出来,docker cp keycloak:/opt/jboss/keycloak/ /data/
2.赋与权限chown 1000:1000 /data/keycloak -R
3.删除原来的容器docker stop keycloak
docker rm keycloak
4.从新建立blog
docker run --name keycloak -d -p 443:443 -p 9990:9990 -p 8080:8080 \ --link postgres:postgres -e POSTGRES_DATABASE=keycloak \ -e POSTGRES_USER=keycloak -e POSTGRES_PASSWORD=keycloakxxxx \ -e TZ=Asia/Shanghai \ --privileged=true \ -v /etc/localtime:/etc/localtime \ -v /data/keycloak:/opt/jboss/keycloak \ --restart=always jboss/keycloak:3.3.0.Final
5.而后把/data/keycloak/themes/base
下面的properties文件改一下就好。这个用过java的都知道,我是直接在eclipse里建立了一个空properties文件,而后往里面粘,自动就转好了。
最终效果图