OpenID Connect

在數字化時代,安全的身份驗證成為網路服務中不可或缺的一環。OpenID Connect(簡稱 OIDC) 是在 OAuth 2.0 協議基礎之上構建的一個身份驗證層,它使得第三方應用能夠透過簡化的流程認證使用者身份,並安全獲取使用者資訊。本文將詳細介紹如何利用 OpenID Connect 透過第三方身份驗證和授權服務平臺登入 OpenResty Edge Admin 控制檯。

新增 OpenIDC 提供商

  1. 進入 全域性配置 > OpenIDC 提供商 頁面:

    OpenIDC 提供商頁面

  2. 點選 新增 OpenIDC 提供商 按鈕,開始新增新的 OpenIDC 提供商。

    新增 OpenIDC 提供商

    • 名稱: OpenIDC 提供商的名稱,將會在登入介面生成對應的按鈕,建議簡短易讀。
    • 啟用: 啟用或禁用提供商,當前系統中只允許啟用一定數量的 OpenIDC 提供商。
    • Discovery URL: 發現 OpenIDC 提供商配置的 URL,通常為 https://EXAMPLE.com/.well-known/openid-configuration
    • 客戶 ID: 你的賬號在 OpenIDC 提供商處的標識。
    • 認證方式: 當前支援 Client secret basicClient secret postPrivate key JWT
    • 客戶 secret: 用於在 OpenIDC 提供商處認證的秘鑰,當認證方式選擇 Client secret basicClient secret post 時需要填寫。
    • 私鑰: 用於在 OpenIDC 提供商處認證的秘鑰,當認證方式選擇 Private key JWT 時需要填寫。
    • Private Key ID: 私鑰的 ID,只有當認證方式選擇 Private key JWT 時才需要填寫。
    • 重定向 URI: 在 OpenIDC 提供商處登入成功後跳轉的 URI,以便 OpenResty Edge 繼續處理後續登入流程。預設會自動填充該值,可根據實際情況進行修改。
    • 範圍: 指定需要 OpenIDC 提供商返回的資訊,其中 email 是必須的,因為當前 OpenResty Edge 中使用 email 來繫結 OpenIDC 提供商和 OpenResty Edge 中的賬號。
    • 超時: OpenResty Edge 與 OpenIDC 提供商互動請求的超時時間,預設 60 秒。
    • SSL 驗證: 決定是否驗證 OpenIDC 提供商的證書,預設啟用,建議啟用。
    • 使用 PKCE: PKCE(Proof Key for Code Exchange) 是一種用於改善授權碼授權模式安全性的技術,啟用該選項將使用 PKCE。

繫結 OpenResty Edge 賬號與 OpenIDC 提供商賬號

新增完 OpenIDC 提供商後,將 OpenResty Edge 賬號與 OpenIDC 提供商賬號進行繫結:

繫結 OpenIDC 賬號

  1. 選擇 登入型別OpenIDC
  2. 輸入 OpenIDC email,即可完成繫結。

使用 OpenIDC 登入

繫結完成後,即可使用 OpenIDC 進行登入:

OpenIDC 登入

點選自動生成的按鈕 (假設為 OpenResty) 後,將會跳轉到對應的登入介面。在第三方登入介面登入成功後,將會自動跳轉回到 OpenResty Edge。

如果在 OpenResty Edge 中登入成功,將自動進入管理介面:

登入成功

可以看到使用者名稱稱已經是我們前面指定的 openidc-tester

如果登入失敗,將會顯示錯誤資訊:

登入失敗