OpenIDC 認證
OpenResty Edge 支援 OpenID Connect(OpenIDC、OIDC)協議,能向身份提供商 (IdP) 獲取使用者資訊,從而對使用者進行認證。
工作流程
OpenIDC 的工作流程如下:
配置說明
在 HTTP 應用 > 具體應用 > 頁面規則 > 頁面規則動作中,找到 啟用 OpenIDC 認證
:
配置引數
引數 | 說明 |
---|---|
認證方式 | 目前支援 client_secret_basic 、client_secret_post 、client_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
:
步驟 2:在 Edge 中配置 OpenIDC 認證
在 Edge 中啟用 OpenIDC 認證,並輸入從 Auth0 獲取到的資訊:
步驟 3:新增重定向規則
在啟用 OpenIDC 認證的規則後新增一條 redirect_uri
相關的規則,用於處理認證失敗或直接訪問 redirect_uri
時的動作:
這兩條規則之後,可以新增其他正常的業務規則。在本示例中,最後一條規則是列印 Hello World
。
步驟 4:測試認證流程
訪問 /protected-resource
,將會跳轉到 Auth0 登入介面:
登入成功後,系統會重新跳轉回到 /protected-resource
,併成功訪問: