OpenID Connect
自主部署版的 OpenResty XRay 支援透過 OpenID Connect (OIDC) 協議整合第三方身份驗證和授權服務,實現單點登入 (SSO) 功能。
本文將詳細介紹如何配置 OpenID Connect 第三方身份驗證。
新增 OIDC 身份提供商
點選右上角使用者名稱進入 OpenIDC 提供商 頁面:
點選 新增 OpenIDC 提供商 按鈕,開始配置新的 OIDC 身份提供商。
- 名稱: OIDC 身份提供商的顯示名稱,將在登入介面生成對應的登入按鈕,建議使用簡短易讀的名稱。
- Discovery URL: OIDC 服務發現端點 URL,用於自動獲取身份提供商的配置資訊,通常為
https://EXAMPLE.com/.well-known/openid-configuration
。 - 重定向 URI: 身份驗證成功後的回撥地址,用於 OpenResty XRay 接收授權碼並完成登入流程。系統會自動填充預設值,可根據實際部署情況調整。
- 客戶端 ID: 在 OIDC 身份提供商處註冊的客戶端應用識別符號。
- 客戶端金鑰: 客戶端認證金鑰,當認證方式選擇
Client secret basic
或Client secret post
時必填。 - 認證方式: 客戶端認證方法,支援
Client secret basic
、Client secret post
、Private key JWT
三種方式。 - 授權範圍: 請求的許可權範圍,
email
為必需項,因為 OpenResty XRay 使用郵箱地址關聯 OIDC 賬號與本地使用者賬號。(如果有資源限制,請允許返回email
資源) - 超時時間: 與 OIDC 身份提供商通訊的超時時間,預設 60 秒。
- SSL 驗證: 是否驗證 OIDC 身份提供商的 SSL 證書,預設啟用,強烈建議保持啟用以確保安全性。
- 使用 PKCE: 啟用 PKCE (Proof Key for Code Exchange) 擴充套件,這是一種增強授權碼流安全性的機制,如果身份提供商支援,推薦啟用該選項。
繫結使用者賬號
配置完 OIDC 身份提供商後,如果使用者名稱和 OIDC 的電子郵箱不一致,需要使用管理員賬號將 OpenResty XRay 本地使用者賬號與 OIDC 賬號進行關聯。
- 點選右上角使用者名稱進入 管理使用者 頁面:
- 繫結 OIDC 賬號:
輸入 OIDC 郵箱地址,完成賬號繫結。該郵箱地址必須與 OIDC 身份提供商返回的郵箱地址一致。
使用 OIDC 登入
完成賬號繫結後,即可透過 OIDC 身份提供商登入 OpenResty XRay:
點選對應的身份提供商登入按鈕(如 ping
),系統將重定向到該身份提供商的登入頁面。在身份提供商完成認證後,會自動跳轉回 OpenResty XRay 並完成登入。