- 在 CentOS/RHEL 作業系統上,安裝 KeyCloak 服務!
- 需要先架設好 CentOS/RHEL 作業系統
- 安裝相關必要軟體安裝工作!
# yum -y epel-release # yum -y upgrade # reboot
- 安裝 OpenJDK 套件:
# yum -y install java-17-openjdk-*
- 取得 KeyCloak 套件軟體!
# cd /opt # wget https://github.com/keycloak/keycloak/releases/download/20.0.1/keycloak-20.0.1.zip
- 進行安裝與設定 KeyCloak Server 工作!
# unzip keycloak-20.0.1.zip # cd keycloak-20.0.1/ # export KEYCLOAK_ADMIN="admin" (管理者帳號,可以自訂) # export KEYCLOAK_ADMIN_PASSWORD="a123456" (管理者密碼,可以自訂) # bin/kc.sh start-dev &
- 開啟瀏覽器,輸入 http://localhost:8080
- 點選網頁中的「Administration Console」出現下列的登入畫面,輸入上兩個步驟所自訂的管理者帳號密碼:
- 登入後的畫面如下所示:
- 設定防火牆
# firewall-cmd --add-port=8080/tcp --permanent # firewall-cmd --reload
- 設定服務啟動檔:
# cd /etc/systemd/system # vim keycloak.service [Unit] Description=KeyCloak Service After=multi-user.target [Service] ExecStart=/usr/bin/bash /opt/keycloak-20.0.1/bin/kc.sh start-dev Type=simple [Install] WantedBy=multi-user.target (存檔後離開)
- 測試是否可以正常啟動
# kill %1 # systemctl daemon-reload # systemctl start keycloak.service # systemctl status keycloak.service -l # systemctl enable keycloak.service
- 重新登入 http://localhost:8080 查看是否可以登入
使用 Keycloak 官方測試程式進行測試:
- 以管理者帳號登入 Keycloak 系統
- 在最左方下拉選單中,按下「Create Realm」按鈕
- 在 Realm name 櫚位內,輸入想要的名稱。確認 Enabled 欄位是 On 的狀態後,按下「Create」按鈕即可。
- 在已新增的 Realm 內,選擇「Users」項目。在右邊畫面中,按下「Create new user」按鈕。
- 在 Username 欄位內,輸入新增的使用者帳號,以及相關的訊息。最後再按下「Create」按鈕。
- 選擇 Credentials 標籤,選下「Set password」按鈕
- 連續輸入兩次密碼之後,Temporary 選擇「Off」,再按下「Save」按鈕之後,再於確認視窗內,按下「Save password」。
- 在左方選單中,選擇 Clients 選項,再按下右方「Create client」按鈕
- 在 Client type 欄位中,選擇「OpenID Connect」,在 Client ID 中,輸入想要的名稱,再按下「Next」按鈕。
- 接下來的畫面中,在 Authentication flow 欄位內,勾選 Standard flow 選目,然後按下「Save」按鈕。
- 接下來的畫面中,選擇右邊 Access settings 選項,再輸入 Valid redirect URIs 以及下方的 Web origins,最後按下「Save」按鈕。
Valid redirect URIs: https://www.keycloak.org/app/* Web origins: https://www.keycloak.org
- 在溜覽器上開新的分頁,網址輸入:https://www.keycloak.org/app/,進入測試頁面。
- 在 Keycloak 的測試頁面中,輸入相關的訊息,再按下「Save」按鈕。
- 接下來的畫面,按下「Sing in」按鈕。
- 畫面將轉回本地端的 Keycloak 登入畫面,輸入剛才新增的使用者帳密後,再按下「Sign In」按鈕。
- 畫面將轉到 Keycloak 官方測試站台,如下圖,表示自架的 Keycloak Server 有成功運作。
參考文獻:
- https://www.keycloak.org/getting-started/getting-started-zip
- https://linuxhandbook.com/create-systemd-services/