1铅搓、下載keycloak安裝包
進(jìn)入keycloak官網(wǎng)下載所需安裝包,此次以keycloak-8.0.1.tar.gz為例。
2亡哄、解壓安裝keycloak
將安裝文件放置要安裝的位置鸭廷,本人安裝至opt目錄下枣抱,解壓安裝
tar -zxvf /opt/keycloak-8.0.1.tar.gz
為了方便,此處對(duì)文件夾重命名
mv /opt/keycloak-8.0.1 /opt/keycloak
注意:如果不做數(shù)據(jù)庫(默認(rèn)帶有h2數(shù)據(jù)庫)或別的其它修改辆床,至此已安裝完畢佳晶,可直接啟動(dòng)
3、啟動(dòng)keycloak
sh /opt/keycloak/bin/standalone.sh
4讼载、訪問查看
打開瀏覽器訪問:http://127.0.0.1:8080/auth,顯示以下界面則啟動(dòng)成功
首次登錄時(shí)必須創(chuàng)建管理用戶,本機(jī)訪問可通過頁面創(chuàng)建管理用戶咨堤,非本機(jī)訪問,可通過以下命令創(chuàng)建
sh /opt/keycloak/bin/add-user-keycloak.sh -r master -u admin -p admin
其它配置修改
1一喘、設(shè)置允許外部訪問
Keycloak使用的wildfly服務(wù)器,默認(rèn)只允許本機(jī)訪問,兩種解決方案如下:
1.啟動(dòng)時(shí)添加參數(shù)
sh /opt/keycloak/bin/standalone.sh -b=0.0.0.0 -bmanagement=0.0.0.0
2.修改配置文件standalone.xml
vi /opt/keycloak/standalone/configuration/standalone.xml
可通過 /jboss.bind.address.management 找到需修改的位置然后重新啟動(dòng)就可以了
2议蟆、設(shè)置控制臺(tái)為中文簡(jiǎn)體顯示
1.登錄控制臺(tái)闷沥,點(diǎn)擊左側(cè)菜單Realm Settings
2.右側(cè)點(diǎn)Themes頁簽咐容。
3.然后設(shè)置所有屬性為:keycloak。
4.Internationalization Enabled選擇ON戳粒。
5.將Default Locale設(shè)置為zh-CN颖侄,save保存。
6.退出重新登錄即可(登錄框右上角也選一下中文簡(jiǎn)體)
注意
本人在設(shè)置中文簡(jiǎn)體后成功后享郊,又想設(shè)置回來览祖,結(jié)果崩了炊琉,顯示如下,不知為何
3苔咪、修改默認(rèn)數(shù)據(jù)庫為mysql
注意:
1.xml中的&符號(hào)需要轉(zhuǎn)義;這里的UTF-8必須大寫箕般,否則啟動(dòng)時(shí)拋異常
2.module里的mysql jar和程序里的jar版本會(huì)報(bào)錯(cuò)
3.mysql低版本中update.sql執(zhí)行出錯(cuò)
4.訪問管理頁面出錯(cuò)
錯(cuò)誤信息:WARN [org.keycloak.events] (default task-2) type=LOGIN_ERROR, realmId=master, clientId=null, userId=null, ipAddress=168.160.28.37, error=ssl_required
對(duì)于所有外部IP地址舔清,Keycloak默認(rèn)為HTTPS。
解決方案:登錄keycloak使用的mysql數(shù)據(jù)庫体谒,關(guān)閉SSL要求
use keycloak
update REALM set ssl_required='NONE' where id = 'master';
重啟keycloak即可解決
參考資源
keycloak: http://www.keycloak.org/[圖片上傳中...(image.png-8d310f-1578573462011-0)]
Keycloak源碼:https://github.com/keycloak/keycloak
WildFly服務(wù)器:https://wildfly.org/
Auth2.0協(xié)議:https://oauth.net/2/
Keycloak新的發(fā)行版命名為Quarkus,專為GraalVM和OpenJDK HotSpot量身定制的一個(gè)Kurbernetes Native Java框架幌绍,計(jì)劃2019年底正式發(fā)布故响。