OpenID Connect

自主部署版的 OpenResty XRay 支援透過 OpenID Connect (OIDC) 協議整合第三方身份驗證和授權服務,實現單點登入 (SSO) 功能。

本文將詳細介紹如何配置 OpenID Connect 第三方身份驗證。

新增 OIDC 身份提供商

  1. 點選右上角使用者名稱進入 OpenIDC 提供商 頁面:

    OpenIDC 提供商頁面

  2. 點選 新增 OpenIDC 提供商 按鈕,開始配置新的 OIDC 身份提供商。

    新增 OpenIDC 提供商

    • 名稱: OIDC 身份提供商的顯示名稱,將在登入介面生成對應的登入按鈕,建議使用簡短易讀的名稱。
    • Discovery URL: OIDC 服務發現端點 URL,用於自動獲取身份提供商的配置資訊,通常為 https://EXAMPLE.com/.well-known/openid-configuration
    • 重定向 URI: 身份驗證成功後的回撥地址,用於 OpenResty XRay 接收授權碼並完成登入流程。系統會自動填充預設值,可根據實際部署情況調整。
    • 客戶端 ID: 在 OIDC 身份提供商處註冊的客戶端應用識別符號。
    • 客戶端金鑰: 客戶端認證金鑰,當認證方式選擇 Client secret basicClient secret post 時必填。
    • 認證方式: 客戶端認證方法,支援 Client secret basicClient secret postPrivate key JWT 三種方式。
    • 授權範圍: 請求的許可權範圍,email 為必需項,因為 OpenResty XRay 使用郵箱地址關聯 OIDC 賬號與本地使用者賬號。(如果有資源限制,請允許返回 email 資源)
    • 超時時間: 與 OIDC 身份提供商通訊的超時時間,預設 60 秒。
    • SSL 驗證: 是否驗證 OIDC 身份提供商的 SSL 證書,預設啟用,強烈建議保持啟用以確保安全性。
    • 使用 PKCE: 啟用 PKCE (Proof Key for Code Exchange) 擴充套件,這是一種增強授權碼流安全性的機制,如果身份提供商支援,推薦啟用該選項。

繫結使用者賬號

配置完 OIDC 身份提供商後,如果使用者名稱和 OIDC 的電子郵箱不一致,需要使用管理員賬號將 OpenResty XRay 本地使用者賬號與 OIDC 賬號進行關聯。

  1. 點選右上角使用者名稱進入 管理使用者 頁面:

使用者管理介面

  1. 繫結 OIDC 賬號:

輸入 OIDC 郵箱地址,完成賬號繫結。該郵箱地址必須與 OIDC 身份提供商返回的郵箱地址一致。

繫結 OpenIDC 賬號

使用 OIDC 登入

完成賬號繫結後,即可透過 OIDC 身份提供商登入 OpenResty XRay:

OpenIDC 登入

點選對應的身份提供商登入按鈕(如 ping),系統將重定向到該身份提供商的登入頁面。在身份提供商完成認證後,會自動跳轉回 OpenResty XRay 並完成登入。