如何在 Amazon Cognito 使用者集區中將 Auth0 設定為 OIDC 供應商?

上次更新日期:2022 年 2 月 22 日

我想在 Amazon Cognito 使用者集區中將 Auth0 設定為 OIDC 供應商

簡短描述

Amazon Cognito 使用者集區允許使用第三方 OpenID Connect 身分供應商 (OIDC) ,例如 Salesforce 或 Ping 身分進行登錄。要將 Auth0 設定為 OIDC 供應商,您需要具有應用程式用戶端和網域名稱的 Amazon Cognito 使用者集區,以及具有 Auth0 應用程式的 Auth0 帳戶。

解決方案

按照以下步驟創建或設定:

  • Auth0 帳戶
  • Auth0 應用程式
  • OIDC 設定
  • 應用程式用戶端設定

如果您尚未這樣做,請創建一個帶有用戶應用程式用戶端網域名稱Amazon Cognito 使用者集區

創建 Auth0 帳戶

如果您已經擁有 Auth0 帳戶,請登錄帳戶。若要創建 Auth0 帳戶,請按照開始使用 Auth0 文件中的指示進行操作。

創建 Auth0 應用程式

  1. Auth0 網站中,選擇 Dashboard (儀表板)。
  2. 在導覽窗格中,打開左邊窗格上的 Applications (應用程式),然後點擊 Create Application (創建應用程式)。
  3. 在對話方塊中,輸入應用程式的名稱,例如 App1。
  4. Choose an application type (選擇應用程式類型) 中,選擇 Single Webpage Applications (單一網頁應用程式)。
  5. 選擇 Create (建立)。

在 Auth0 應用程式的應用程式設定標籤中,記下 Client ID (用戶端 ID)、Client Secret (用戶端密碼) 和 Domain (網域)。

Allowed Callback URLs (允許的回呼 URL) 區段中,確定已經為使用者集區添加 Amazon Cognito 回呼網域。網域格式類似於:
https://<cognito-domain>.auth.<region>.amazoncognito.com/oauth2/idpresponse。

設定使用者集區的 OIDC 設定

  1. 打開 Amazon Cognito 主控台,然後選擇 Manage User Pools (管理使用者集區)。
  2. 選擇您的使用者集區,然後在導覽窗格中選擇 Identity providers (身分供應商)。
  3. 選擇 OpenID Connect
  4. 輸入 Auth0 應用程式中的 Client ID (用戶端 ID) 和 Client secret (用戶端密碼)。
  5. 選擇 Attributes request method (屬性請求方法) 下拉式清單,然後選擇 GET (取得)。
  6. 在 Authorization (授權) 方格中,輸入 phone (電話)、email (電郵)、openidprofile (設定檔)。
  7. Issuer (發行者) 方格中,加入 Auth0 主控台的網域名稱,例如:https://example.auth0.com。
  8. 選擇 Create provider (建立供應商),然後選擇 Run discovery (執行探索)。
  9. 選擇 Create (建立)。
  10. 在導覽窗格中,選擇 Attribute mapping (屬性映射)。
  11. OIDC attribute (OIDC 屬性) 區段中,為 email (電郵) 創建屬性映射。OIDC 屬性 email (電郵) 映射到使用者集區屬性 email (電郵)。

為使用者集區設定應用程式用戶端設定

  1. 打開 Amazon Cognito 主控台,然後選擇 App client settings (應用程式用戶端設定)。
  2. Enabled identity providers (啟用的身分供應商) 中,選擇 Auth0Cognito User Pool (Cognito 使用者集區) 勾選方塊。
  3. Callback URLs (回呼 URL) 中,輸入 URL。
  4. Sign out URL (登出 URL) 中,輸入使用者在登出後被重新引導到的 URL。
  5. Allowed OAuth Flows (允許的 OAuth 流程) 中,確保至少選取了 Implicit grant (隱含授與) 勾選方塊。
  6. Allowed OAuth Scopes (允許的 OAuth 範圍) 中,確保至少選取了 email (電郵) 和 openid 勾選方塊。
  7. 選擇 Save changes (儲存變更)。

測試設定

  1. 打開 Amazon Cognito 主控台,選擇 Manage User Pools (管理使用者集區)。
  2. 在導覽窗格中,選擇 App client settings (應用程式用戶端設定)。
  3. 選擇您的應用程式用戶端,然後選擇 Launch Hosted UI (啟動託管 UI)。
  4. Hosted UI (託管 UI) 頁面中,選擇 Auth0,然後登錄到 Auth0 登錄頁面。
  5. 該頁面將重新引導至應用程式用戶端設定所指定的回呼 URL。
  6. (選用) 您可以在使用者集區的使用者和群組設定中檢查創建的 Auth0 使用者。

此文章是否有幫助?


您是否需要帳單或技術支援?