跳至內容

連接 OpenID Connect 供應商

當你的身分供應商使用 OpenID Connect 而非 SAML 時,請使用本指南。任何 通過 OIDC 認證的簽發者都適用 —— Pocket ID、Keycloak、Auth0、 Zitadel、Google Workspace 等全都遵循相同步驟;差別只在於 供應商顯示這些值的位置。

  • 一個可讓你建立用戶端的 OIDC 供應商 —— 記下其用戶端 ID 及其簽發者 URL(.well-known/openid-configuration 文件所在的基底),此外若用戶端屬於機密類型,還需其 用戶端密鑰(公開的 PKCE 用戶端則沒有),
  • 一部由你管理的 Control Center 伺服器(即伺服器擁有者)。
  1. 開啟 設定 → 伺服器 → 單一登入,並切換到 OpenID Connect。
  2. 填入 簽發者 URL、用戶端 ID,以及供應商有簽發時的 用戶端密鑰(選填)。Control Center 會從簽發者的標準探索文件探索端點 —— 毋須逐個供應商設定。
  3. 在供應商一方,於該用戶端註冊重新導向位址 https://<your-server>/oidc/callback。
  4. 若你的群組位於 groups 以外的宣告之下,請設定 群組宣告名稱;如需要,可將群組對應到角色(SSO 永遠無法 授予擁有者角色)。
  5. 選擇成員政策(自動加入每個工作區,或每個工作區都需要個別 邀請),開啟 使用 OpenID Connect 登入,然後 按下 儲存連線。
  6. 按下 測試連線 —— 伺服器會擷取簽發者的探索 文件並確認其端點,因此綠色的提示訊息代表除了瀏覽器往返之外 一切正常。若要一併檢查用戶端註冊, 請使用下方的檢查器。
  7. 進行一次登入:網頁連接畫面會顯示 以 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.

Needed for the test sign-in.

Client type

Never paste the secret here. The check only needs to know whether one exists.

The address your users open. Adds a reachability check and a test sign-in.

Paste the discovery document instead

For providers that block other sites from reading it.