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文件,而後往裏面粘,自動就轉好了。
最終效果圖