連接 OpenID Connect 供應商
當你的身分供應商使用 OpenID Connect 而非 SAML 時,請使用本指南。任何 通過 OIDC 認證的簽發者都適用 —— Pocket ID、Keycloak、Auth0、 Zitadel、Google Workspace 等全都遵循相同步驟;差別只在於 供應商顯示這些值的位置。
先決條件
標題為「先決條件」的章節- 一個可讓你建立用戶端的 OIDC 供應商 —— 記下其用戶端 ID
及其簽發者 URL(
.well-known/openid-configuration文件所在的基底),此外若用戶端屬於機密類型,還需其 用戶端密鑰(公開的 PKCE 用戶端則沒有), - 一部由你管理的 Control Center 伺服器(即伺服器擁有者)。
- 開啟 設定 → 伺服器 → 單一登入,並切換到 OpenID Connect。
- 填入 簽發者 URL、用戶端 ID,以及供應商有簽發時的 用戶端密鑰(選填)。Control Center 會從簽發者的標準探索文件探索端點 —— 毋須逐個供應商設定。
- 在供應商一方,於該用戶端註冊重新導向位址
https://<your-server>/oidc/callback。 - 若你的群組位於
groups以外的宣告之下,請設定 群組宣告名稱;如需要,可將群組對應到角色(SSO 永遠無法 授予擁有者角色)。 - 選擇成員政策(自動加入每個工作區,或每個工作區都需要個別 邀請),開啟 使用 OpenID Connect 登入,然後 按下 儲存連線。
- 按下 測試連線 —— 伺服器會擷取簽發者的探索 文件並確認其端點,因此綠色的提示訊息代表除了瀏覽器往返之外 一切正常。若要一併檢查用戶端註冊, 請使用下方的檢查器。
- 進行一次登入:網頁連接畫面會顯示 以 OpenID
Connect 登入,或直接開啟
https://<your-server>/oidc/login。
你的伺服器會透過 TLS 從簽發者的權杖端點讀取宣告(電郵、姓名、群組)
—— 瀏覽器從不提供這些資料,因此不涉及本機 JWT
簽章驗證。應允許該用戶端要求
openid profile email 範圍,而這正是 Control Center 所要求的。
由於該 TLS 通道是驗證這些宣告的唯一途徑,簽發者 URL 必須為
https —— 明文簽發者會讓任何路徑上的攻擊者任意
偽造身分。僅在本機開發時,回送簽發者
(localhost、127.0.0.1、::1)才接受 http。
從本頁檢查你的設定
標題為「從本頁檢查你的設定」的章節下方的檢查器在你的瀏覽器中執行。它會直接擷取你簽發者的探索 文件,因此本網站永遠看不到它,並套用伺服器的 規則:與文件相符的 https 簽發者、位於簽發者 本身來源的端點、PKCE S256,以及你的用戶端類型所需的權杖 驗證方法。只要提供用戶端 ID 和伺服器位址,它就能開啟測試登入, 顯示該用戶端及其重新導向 URI 是否已註冊。它永遠不會要求 用戶端密鑰。
Runs in your browserYour browser fetches the discovery document straight from your issuer. Add a server address and it also asks that server which sign-in methods it offers. This site never receives what you type.
Test sign-in at your provider
- Your provider's sign-in or consent page: the client ID and redirect URI are registered. You can close the tab.
- An error at your provider: it names what to fix, usually a redirect URI that is not registered or an unknown client ID.
- Your server's "Sign-in failed" page: also a pass. The provider accepted the request and sent you back; your server refuses it only because this page started the sign-in, not your server.