跳到內容

連接 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——純文字 的簽發者會讓任何路徑上的攻擊者大量偽造身分。http 僅適用於回送位址的簽發 者(localhost、127.0.0.1、::1),供本機開發使用。

下方的檢查工具會在你的瀏覽器中執行。它直接抓取你簽發者的探索文件,因此本 站永遠看不到該文件,並套用伺服器的規則:符合文件的 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.