iT邦幫忙

2024 iThome 鐵人賽

DAY 24
0

想要讓主應用的使用者資訊同步 Rocket.chat 的使用者,就要經由 Keycloak 做登入管理,所以來設定 Rocket.chat 的 SSO 登入。

跟之前一樣先在 Keycloak 開一個帶 Client Authentication 的 client ,Valid redirect URIs 設定為 Rocket.chat 的位置 http://localhost:3000/_oauth/keycloak ,然後取得 Client secret 。

接下來回到 Rocket.chat 應用這邊,找到工作區的管理入口。

https://res.cloudinary.com/dhcsjvhjg/image/upload/v1728388205/Screenshot_2024-10-08_at_7.49.59_PM_ulcwwg.png

接著進到 Settings → Ouath ,右上角選擇 Add custom OAuth ,名稱選 Keycloak。

找到剛剛新增的 Custom OAuth: Keycloak ,開始設定。

URL

設定 Keycloak 在本機上的位置,例如

http://localhost:8080/realms/{realm}/protocol

Token Path

/openid-connect/token

Token Sent Via

Header

Identity Token Sent Via

Same as “Token Sent Via”

Identity Path

/openid-connect/userinfo

Authorize Path

/openid-connect/auth

Param Name for access token

access_token

Id

Keycloak 上設定的 client id 。

Secret

Keycloak client secret。

Button Text

登入按鈕的文字,選個喜歡的。

設定完記得選 Enable,然後 Save Changes 接著 Refresh OAuth Services。

再來因為目前沒有另外掛 SMTP ,所以到 Administration → Settings → Accounts 關掉兩步驟驗證選項 Enable Two Factor Authentication 並儲存。

接著登出後登入頁面就會出現 Login with Keycloak 的按鈕,如果沒出現的話就重新整理一下(cmd+R 或 ctrl+R)。

點擊後有彈出 Keycloak 登入視窗並登入成功,但回到 Rocket.chat 沒有登入成功,還是 Docker 間的通訊問題。


上一篇
聊天服務 Rocket.chat
下一篇
Nextjs 嵌入 Rocket.chat
系列文
Awesome self hosted 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言