OpenIDC 認證

OpenResty Edge 支援 OpenID Connect(OpenIDC、OIDC)協議,能向身份提供商 (IdP) 獲取使用者資訊,從而對使用者進行認證。

工作流程

OpenIDC 的工作流程如下:

OpenIDC 工作流程圖

配置說明

在 HTTP 應用 > 具體應用 > 頁面規則 > 頁面規則動作中,找到 啟用 OpenIDC 認證

OpenIDC 配置介面

配置引數

引數說明
認證方式目前支援 client_secret_basicclient_secret_postclient_secret_jwt 三種方式
客戶 ID客戶身份,從身份提供商 (IdP) 獲取
客戶 secret客戶金鑰,從身份提供商 (IdP) 獲取
發現端點身份提供商 (IdP) 提供的 URL,用於獲取服務方支援的 OpenID 協議規格
範圍客戶許可權,必須包含 OpenID,常見取值 openid email profile
重定向 URI認證成功後的跳轉地址,支援相對地址和絕對地址,可以不填,預設為原請求 URL,通常需要與身份提供商 (IdP) 中配置的一致
啟用 SSL 驗證OpenResty Edge™ 與身份提供商 (IdP) 是否採用加密連線
超時時間OpenResty Edge™ 與身份提供商 (IdP) 的連線超時時間,單位是毫秒
登出路徑請求 域名 + 登出路徑,可以從身份提供商 (IdP) 登出,再次認證時需要重新登入,常見取值 /logout

實際應用示例

以下以 Auth0 為例,演示如何配置和使用 OpenIDC 認證。

步驟 1:在 Auth0 中配置

在 Auth0 控制面板中配置認證資訊及 redirect_uri

Auth0 認證資訊配置

Auth0 重定向 URI 配置

步驟 2:在 Edge 中配置 OpenIDC 認證

在 Edge 中啟用 OpenIDC 認證,並輸入從 Auth0 獲取到的資訊:

Edge OpenIDC 配置

步驟 3:新增重定向規則

在啟用 OpenIDC 認證的規則後新增一條 redirect_uri 相關的規則,用於處理認證失敗或直接訪問 redirect_uri 時的動作:

Edge 規則配置

這兩條規則之後,可以新增其他正常的業務規則。在本示例中,最後一條規則是列印 Hello World

步驟 4:測試認證流程

訪問 /protected-resource,將會跳轉到 Auth0 登入介面:

Auth0 登入介面

登入成功後,系統會重新跳轉回到 /protected-resource,併成功訪問:

認證成功頁面