功能
keycloak的重點在身份驗證和授權,所以相關功能肯定有的
- 單一登入
- 透過keycloak進行身份驗證,各個應用程式不用各自處理登入/登出跟驗證服務
- 社交網站登入
- 例如 Google、Facebook,只有想不到沒有做不到
- User Federation
- 將外部數據視為Keycloak的儲存後端,依照需求載入或是同步到Keycloak
- 支持 OpenID Connect、OAuth 2.0、SAML
也提供了強大UI後台,免除自己刻畫面或是直接動資料的困擾
- Admin UI
- 強大的UI工具,可以管理keycloak大多數的設定
名詞
先認識一下名詞,事後在操作才不會誤會
Keycloak中,最大的單位是 Realm,用來區分不同的領域(租戶),各自隔離且獨立
每個 Realm 底下可以有各自的:
Keycloak
首先最重要的步驟,先把Keycloak run 起來,我選擇用 podman 執行一個容器
getting-started-podman
Podman
podman run -p 8080:8080 -e KC_BOOTSTRAP_ADMIN_USERNAME=admin -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:26.1.0 start-dev
- 指定 port 8080
- 指定 admin 的帳密
- 使用版本 26.1.0
執行後開啟 localhost:8080,用 admin 登入
admin登入後,會提示應該要建立自己的使用者帳號,並且移除admin這個帳號
新增一個 user,並且設定Password(Credentials)和權限給他(Role mapping)
這邊要注意,左上角的 filter 要選擇 Filter by realm roles
才有admin相關的權限
新增後就可以嘗試登入,確認權限沒問題後,就可以把admin給移除了
接著回到realm,預設會有一個 Realm Master
,根據的官方描述,
Master
是用來管理Keycloak的地方,不是用來管理應用程式
所以我們要新增一個用來管理應用程式的realm
Realm
左上角的 master
點開,就有一個 Create Realm
新增一個 realm MyRealm
我希望可以透過應用程式訪問 Keycloak
所以分別要建立 Client
和 User
Client
新增一個client MyClient
Client Type選擇 OpenID Connect
啟用 Standard flow
和 Direct access grants
,建立
(後面測試的需要,Valid redirect URIs
需要設定為
https://www.keycloak.org/app/*
)
User
現在有Client了,但是沒有使用者,接著新增User
新增一個 user MyUser
Test
接著可以在Keyclock的測試網站測試登入能不能成功
https://www.keycloak.org/app/
參考資料
Keycloak
功能
keycloak的重點在身份驗證和授權,所以相關功能肯定有的
也提供了強大UI後台,免除自己刻畫面或是直接動資料的困擾
名詞
先認識一下名詞,事後在操作才不會誤會
Keycloak中,最大的單位是 Realm,用來區分不同的領域(租戶),各自隔離且獨立
每個 Realm 底下可以有各自的:
Keycloak
首先最重要的步驟,先把Keycloak run 起來,我選擇用 podman 執行一個容器
getting-started-podman
Podman
執行後開啟 localhost:8080,用 admin 登入
admin登入後,會提示應該要建立自己的使用者帳號,並且移除admin這個帳號
新增一個 user,並且設定Password(Credentials)和權限給他(Role mapping)
這邊要注意,左上角的 filter 要選擇
Filter by realm roles
才有admin相關的權限新增後就可以嘗試登入,確認權限沒問題後,就可以把admin給移除了
接著回到realm,預設會有一個 Realm
Master
,根據的官方描述,Master
是用來管理Keycloak的地方,不是用來管理應用程式所以我們要新增一個用來管理應用程式的realm
Realm
左上角的
master
點開,就有一個Create Realm
新增一個 realm
MyRealm
我希望可以透過應用程式訪問 Keycloak
所以分別要建立
Client
和User
Client
新增一個client
MyClient
Client Type選擇
OpenID Connect
啟用
Standard flow
和Direct access grants
,建立(後面測試的需要,
Valid redirect URIs
需要設定為https://www.keycloak.org/app/*
)User
現在有Client了,但是沒有使用者,接著新增User
新增一個 user
MyUser
Test
接著可以在Keyclock的測試網站測試登入能不能成功
https://www.keycloak.org/app/
參考資料
Keycloak