我想將 Auth0 設定為 Cognito 使用者集區中的 OIDC 提供者。
簡短描述
Cognito 使用者集區可讓您使用第三方 OpenID 連線 (OIDC) 身分提供者 (例如 Salesforce 或 Ping 身分) 登入。若要將 Auth0 設定為 OIDC 提供者,請確定您具有下列項目:
- 具有應用程式用戶端和網域名稱的 Cognito 使用者集區。
- 具有 Auth0 應用程式的 Auth0 帳戶。
解決方法
建立 Auth0 帳戶
如果您有 Auth0 帳戶,請登入。若要建立 Auth0 帳戶,請參閱 Auth0 網站上的開始使用。
建立 Auth0 應用程式
請完成下列步驟:
- 在 Auth0 網站上登入您的開發人員帳戶。
- 選擇 Dashboard (儀表板)。
- 在導覽窗格中,從 Applications (應用程式) 中按一下 Create application (建立應用程式)。
- 在對話方塊中,輸入應用程式的名稱。例如,App1。
- 在 Choose an application type (選擇應用程式類型) 中,選擇 Single webpage applications (單一網頁應用程式),然後選擇 Create (建立)。
重要: 請注意,應用程式設定索引標籤中的用戶端 ID、用戶端密碼和網域值,會用來在下一個步驟中設定使用者集區的 OIDC 設定。
- 在 Settings (設定) 索引標籤的 Allowed callback URLs (允許的回呼網址) 區段中,您必須為使用者集區新增 Cognito 回呼網域。網域格式類似於以下:https://<Cognito Domain>.auth.<region>.amazoncognito.com/oauth2/idpresponse。
- 按一下 Save changes (儲存變更)。
設定使用者集區的 OIDC 設定
請完成下列步驟:
- 開啟 Cognito console (Cognito 主控台)。
- 選擇 User pools (使用者集區),然後選取您的使用者集區。
- 選擇 Social and external providers (社交和外部提供者),然後選擇 Add identity provider (新增身分提供者)。
- 選擇 OpenID Connect (OIDC).
- 輸入 Provider name (提供者名稱)。然後,輸入 Auth0 應用程式中的用戶端 ID 和用戶端密碼值。
- 在 Authorization scopes (授權範圍) 中,輸入 Phone (電話)、Email (電子郵件)、Openid 和 Profile (設定檔)。
- 選取 Attributes request method (屬性請求方法) 下拉式清單,然後選擇 GET。
- 在 Issuer (發行人) 中,新增 Auth0 主控台的網域名稱。例如,https://example.auth0.com。
- 在 Attribute mapping (屬性對應) 中,於 OIDC attribute (OIDC 屬性) 區段中為 Email (電子郵件) 建立屬性對應。OIDC 屬性電子郵件會對應到使用者集區屬性電子郵件。
- 按一下 Add identity provider (新增身分提供者)。
為使用者集區設定應用程式用戶端設定
請完成下列步驟:
- 開啟 Cognito console (Cognito 主控台)。
- 選擇 App clients (應用程式用戶端),然後開啟應用程式用戶端。
- 選取 Login pages (登入頁面) 索引標籤。
- 在 Managed login pages configuration (受管登入頁面組態) 區段中,選取 Edit (編輯)。
- 在 Allow callback URLs (允許回呼網址) 中,輸入整合應用程式的網址。
- 在 Allow sign out URL (允許登出網址) 中,輸入使用者登出後要重新導向到的網址。
- 按一下 Identity providers (身分提供者) 的下拉式選單,然後選取 Auth0 和 ognito User Pool (Cognito 使用者集區) 核取方塊。
- 在 Allowed OAuth flows (允許的 OAuth 流程),至少選取 Authorization code grant (授權碼授予) 核取方塊。
- 在 Allowed OAuth scopes (允許的 OAuth 範圍) 中,至少選取 Email (電子郵件) 和 Openid 核取方塊。
- 按一下 Save changes (儲存變更)。
測試設定
請完成下列步驟:
- 開啟 Cognito console (Cognito 主控台)。
- 選擇 Manage User Pools (管理使用者集區)。
- 開啟使用者集區,然後選取 App clients (應用程式用戶端)。
- 選取您的應用程式用戶端,然後選擇 View login page (檢視登入頁面)。
- 在 Hosted UI (託管 UI) 頁面上,選擇 Auth0。當您重新導向至 Auth0 登入頁面時,請完成登入頁面。然後,頁面會重新導向到應用程式用戶端設定中指定的回呼網址。
- (選用) 檢查在使用者集區中的使用者和群組設定中建立的 Auth0 使用者。
相關資訊
設定使用者集區網域