跳至內容

如何將 Auth0 設定為 SAML 身分提供者,並與 Amazon Cognito 使用者集區搭配使用?

3 分的閱讀內容
0

我想將 Auth0 設定為 SAML 2.0 身分提供者 (IdP) 並與 Amazon Cognito 使用者集區搭配使用。

簡短描述

您必須擁有一個具有應用程式用戶端、網域名稱和 Auth0 帳戶 (其中包含 Auth0 應用程式) 的 Cognito 使用者集區。如需更多資訊,請參閱使用第三方身分提供者登入使用者集區將 SAML 身分提供者與使用者集區搭配使用

解決方法

使用應用程式用戶端和網域名稱建立 Cognito 使用者集區

如需資訊,請參閱下列 AWS 文件:

註冊 Auth0 帳戶

如果您還沒有 Auth0 帳戶,請在 Auth0 註冊網站上註冊一個。

建立 Auth0 應用程式

請完成下列步驟:

  1. Auth0 Dashboard (Auth0 儀表板) 上,選擇 Applications (應用程式),然後選擇 Create Application (建立應用程式)。
  2. Create Application (建立應用程式) 方塊中,輸入應用程式的名稱,例如 My App (我的應用程式)。
  3. Choose an application type (選擇應用程式類型) 下,選擇 Single Page Web Applications (單頁 Web 應用程式)。
  4. 選擇 Create (建立)。

為您的 Auth0 應用程式建立測試使用者

請完成下列步驟:

  1. Auth0 Dashboard (Auth0 儀表板) 的導覽窗格中,選擇 User Management (使用者管理),然後選擇 Users (使用者)。
  2. 選擇 Create Your First User (建立第一個使用者) 或 Create User (建立使用者)。
  3. Create user (建立使用者) 方塊中,輸入測試使用者的電子郵件和密碼。
  4. 選擇 Save (儲存)。

為您的應用程式設定 SAML 設定

請完成下列步驟:

  1. Auth0 Dashboard (Auth0 儀表板) 的導覽窗格中,選擇 Applications (應用程式)。
  2. 選擇您所建立應用程式的名稱。
  3. Addons (附加元件) 索引標籤上,開啟 SAML2 Web App (SAML2 Web 應用程式)。
  4. Addon: SAML2 Web App (附加元件:SAML2 Web 應用程式) 方塊的 Settings (設定) 索引標籤上,在 Application Callback URL (應用程式回呼網址) 中,輸入:https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse
    **注意:**將 yourDomainPrefixregion 分別替換為您使用者集區的網域前置詞和 AWS 區域。您可以在使用者集區 Management (管理) 頁面的 Domain name (網域名稱) 索引標籤上找到它們。或者,輸入類似 https//yourCustomDomain/saml2/idpresponse自訂網域回呼網址。
  5. Settings (設定) 下,在 Audience (對象) 中刪除註解分隔符號 (//),並將預設值 urn:foo 替換為 urn:amazon:cognito:sp:yourUserPoolId
    **注意:**將 yourUserPoolId 替換為您的 Cognito 使用者集區 ID。您可以在使用者集區 Management 管理頁面的 General settings (一般設定) 索引標籤上找到該 ID。
  6. mappings (對應) 和 email (電子郵件) 中,刪除註解分隔符號 (//)。刪除使用者集區所需的任何其他使用者屬性
  7. nameIdenetifierFormat 中,刪除註解分隔符號 (//)。將預設值 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 替換為 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  8. (選用) 選擇 Debug (偵錯)。若要確認組態是否有效,請以測試使用者身分登入。
  9. 選擇 Enable (啟用),然後選擇 Save (儲存)。

取得 Auth0 應用程式的 IdP 中繼資料

Addon: SAML2 Web App (附加元件:SAML2 Web 應用程式) 方塊的 Usage (使用) 索引標籤上,尋找 Identity Provider Metadata (身分提供者中繼資料)。選擇 download (下載),然後記下網址。選擇 download (下載) 以下載 .xml 中繼資料檔案。

在 Cognito 中將 Auth0 設定為 SAML IdP

建立 SAML IdP 時,在 Metadata document (中繼資料文件) 中輸入身分提供者中繼資料網址,或上傳 .xml 中繼資料檔案。

如需詳細資訊,請參閱在使用者集區中新增和管理 SAML 身分提供者

將電子郵件地址從 IdP 屬性對應至使用者集區屬性

SAML Attribute (SAML 屬性) 中,輸入 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress。在 User pool attribute (使用者集區屬性) 中,選擇 Email (電子郵件)。

如需詳細資訊,請參閱將 IdP 屬性對應到設定檔和權杖

在 Cognito 中變更應用程式用戶端設定

請完成下列步驟:

  1. 開啟 Cognito console (Cognito 主控台)。
  2. 選取您的使用者集區。
  3. 在使用者集區的 Management (管理) 頁面上,在 Applications (應用程式) 下選擇 Select your desired app client (選取所需的應用程式用戶端)。
  4. Login Pages (登入頁面) 下,編輯您的受管登入頁面組態。
  5. Identity providers (身分提供者) 下,選取 Auth0Cognito 使用者集區
  6. Allowed Callback URL(s) (允許的回呼網址) 中,輸入您希望使用者在您登入後重新導向到網址。若要測試驗證,您可以輸入任何有效的網址,例如 https://www.amazon.com
  7. Allowed Sign-out URL(s) (允許的登出網址) 中,輸入您希望使用者在您登出後重新導向到網址。若要測試驗證,您可以輸入任何有效的網址,例如 https://www.amazon.com
  8. Allowed OAuth Flows (允許的 OAuth 流程) 下,至少選取 Implicit grant (隱含授與)。
  9. Allowed OAuth Scopes (允許的 OAuth 範圍) 下,至少選取電子郵件openid
  10. 選擇 Save changes (儲存變更)。

如需詳細資訊,請參閱應用程式用戶端條款

測試登入端點

請完成下列步驟:

  1. 在您的網頁瀏覽器中輸入 https://.auth..amazoncognito.com/login?response_type=token&client_id=&redirect_uri= 網址。
  2. yourDomainPrefixregion 替換為您使用者集區的值。您可以在使用者集區 Management (管理) 頁面的 Branding (品牌) 下,於 Domain name (網域名稱) 索引標籤上找到它們。
  3. yourClientId 替換為您的應用程式用戶端 ID,並將 redirectUrl 替換為您應用程式用戶端的回呼網址。您可以在使用者集區 Management 管理頁面的 Application (應用程式) 下,於 App client settings (應用程式用戶端設定) 索引標籤上找到它們。如需詳細資訊,請參閱受管登入端點:/login
  4. 選擇 Auth0
    **注意:**如果系統將您重新導向至應用程式用戶端的回呼網址,則表示您已在瀏覽器中登入您的 Auth0 帳戶。
  5. 在 Auth0 應用程式的登入頁面上,輸入測試使用者的電子郵件和密碼。
  6. 選擇 Log in (登入)。

登入後,系統會將您重新導向到應用程式用戶端的回呼網址。使用者集區權杖會顯示在網頁瀏覽器網址列的 URL 中。

相關資訊

了解使用者集區 JSON 網路權杖 (JWT)

設定第三方 SAML 身分提供者

如何設定第三方 SAML 身份提供者,使其與 Amazon Cognito 使用者集區搭配使用?