使用 Signed JWT 在 Keycloak 中創建客戶端
Table of Contents
- 簡介 📚
- 加入 OpenID Connect 客戶端到 Keycloak 的步驟 📝
- 在 Keycloak 管理後台創建 Realm 🌐
- 選擇並創建客戶端 🛠️
- 設置客戶端初始設定 ⚙️
- 設置客戶端存取類型 🚪
- 調整客戶端的 OAuth 流程 🔄
- 設置客戶端的權限範圍 🌈
- 驗證使用客戶端 ID 和密鑰 🔐
- 生成並使用簽署 Jot 进行身份验证 🖋️
- 如何提取私鑰以供使用 📥
- 總結 ✨
簡介 📚
在本篇文章中,我們將學習如何將 OpenID Connect 客戶端添加到 Keycloak。我們將探討在 Keycloak 管理後台中創建 Realm、選擇並創建客戶端、設置客戶端初始設定以及其他相關步驟。
加入 OpenID Connect 客戶端到 Keycloak 的步驟 📝
在這個部分,我們將逐步介紹加入 OpenID Connect 客戶端到 Keycloak 的步驟。
步驟 1:在 Keycloak 管理後台創建 Realm 🌐
首先,我們需要進入 Keycloak 管理後台並創建一個新的 Realm。Realm 是一個獨立的區域,用於管理不同的用戶、客戶端和身份驗證配置。我們將在這個 Realm 中添加我們的客戶端。
- 登錄到 Keycloak 管理後台。
- 創建一個新的 Realm。輸入 Realm 名稱並保存。
步驟 2:選擇並創建客戶端 🛠️
在這個步驟中,我們將選擇我們創建的 Realm,然後創建一個新的客戶端。
- 在 Keycloak 管理後台中,選擇我們創建的 Realm。
- 在左側導航欄中,選擇 "Clients" 選項。
- 點擊 "Create" 按鈕,開始創建一個新的客戶端。
步驟 3:設置客戶端初始設定 ⚙️
在這個步驟中,我們將設置客戶端的一些初始設定,例如客戶端 ID 以及客戶端協議。
- 創建客戶端時,為客戶端分配一個有意義的客戶端 ID。
- 確認客戶端協議選項為 "OpenID Connect"。
- 點擊 "Save" 按鈕保存設置。
步驟 4:設置客戶端存取類型 🚪
在這個步驟中,我們將設置客戶端的存取類型,以便啟用一些特定的功能。
- 選擇 "Confidential" 作為存取類型。
- 這將啟用一些進階功能。
- 關閉允許用戶驗證的 OAuth 流程。
- 啟用 "client credentials grant" OAuth 流程,這將啟用服務帳戶。
- 點擊 "Save" 按鈕保存設置。
步驟 5:調整客戶端的 OAuth 流程 🔄
在這個步驟中,我們將調整客戶端的 OAuth 流程,以確保只有我們需要的流程是啟用的。
- 檢查並調整 OAuth 流程設置。
- 關閉不需要的流程。
- 確保啟用的流程包括 "client credentials grant"。
- 點擊 "Save" 按鈕保存設置。
步驟 6:設置客戶端的權限範圍 🌈
在這個步驟中,我們將設定客戶端的權限範圍,以確保客戶端獲得我們所需的權限。
- 在客戶端範圍中,添加需要的範圍,如 "stigma" 和 "watcher"。
- 確保客戶端獲得需要的角色聲明。
- 點擊 "Save" 按鈕保存設置。
步驟 7:驗證使用客戶端 ID 和密鑰 🔐
如果我們要使用客戶端 ID 和密鑰進行驗證,我們只需確認設置正確。
步驟 8:生成並使用簽署 Jot 进行身份验证 🖋️
如果我們希望使用公開金鑰加密來進行身份驗證,我們需要將公開金鑰提供給 Keycloak。
- 使用 "Import" 功能導入現有的公開金鑰,或者生成新的金鑰對。
- 確保公開金鑰保存。
- 生成金鑰對並保存 PKCS12 金鑰存儲庫。
- 提取私鑰以供後續使用。
步驟 9:如何提取私鑰以供使用 📥
如果我們需要將私鑰提取到 PEM 格式,我們可以使用 OpenSSL 工具來完成。
- 使用 OpenSSL 指令將私鑰從 PKCS12 存儲庫中提取。
- 將提取的私鑰保存到 PEM 文件中。
總結 ✨
在本篇文章中,我們簡要介紹了如何將 OpenID Connect 客戶端添加到 Keycloak 的步驟。我們學習了創建 Realm、選擇並創建客戶端以及設置客戶端的相關設置。希望這篇文章對您有所幫助!
優點 (Pros)
- 提供了詳細的指南,易於理解和跟隨。
- 包含了必要的步驟和設置來將 OpenID Connect 客戶端添加到 Keycloak。
缺點 (Cons)
- 文章內容有些冗長,可能需要更精簡一些。
- 缺少實際範例的示範。
Highlights
- 在 Keycloak 管理後台創建 Realm
- 選擇並創建客戶端
- 設置客戶端初始設定
- 設置客戶端存取類型
- 調整客戶端的 OAuth 流程
- 設置客戶端的權限範圍
- 驗證使用客戶端 ID 和密鑰
- 生成並使用簽署 Jot 进行身份验证
- 如何提取私鑰以供使用
FAQ
Q: 如何將 OpenID Connect 客戶端添加到 Keycloak?
A: 請按照以下步驟進行:
- 在 Keycloak 管理後台創建一個新的 Realm。
- 選擇剛剛建立的 Realm,然後創建一個新的客戶端。
- 設置客戶端的初始設定,包括客戶端 ID 和客戶端協議。
- 調整客戶端的存取類型並設置 OAuth 流程。
- 設置客戶端的權限範圍並驗證使用客戶端 ID 和密鑰。
- 生成並使用簽署 Jot 進行身份驗證。
Q: 如何提取私鑰以供使用?
A: 您可以使用 OpenSSL 工具從 PKCS12 存儲庫中提取私鑰,並保存為 PEM 文件。
更多問題與答案,請參考 Keycloak 官方文件。
資源: