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

2 分的閱讀內容
0

我想要為 Amazon Cognito 使用者集區將 Auth0 作為安全性聲明標記語言 2.0 (SAML 2.0) 身分提供者 (IdP)。我該如何設定?

簡短說明

Amazon Cognito 使用者集區允許透過第三方 (聯合) 登入,包括透過 SAML IdP (例如 Auth0) 登入。如需詳細資訊,請參閱透過第三方新增使用者集區登入將 SAML 身分提供者新增至使用者集區

與 Auth0 整合的使用者集區可讓 Auth0 應用程式中的使用者從 Amazon Cognito 取得使用者集區權杖。如需詳細資訊,請參閱搭配使用者集區使用權杖

若要將 Auth0 設定為 SAML IdP,您需要具有應用程式用戶端和網域名稱的 Amazon Cognito 使用者集區,以及在其上有 Auth0 應用程式的 Auth0 帳戶。

解決方法

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

如需詳細資訊,請參閱下列內容:

註冊 Auth0 帳戶

Auth0 註冊頁面上輸入您的電子郵件地址和密碼以開始使用。如果您已經有帳戶,請登入。

創建一個 Auth0 應用程式

  1. 在「 Auth0 網站儀表板上,選擇「 應用程式」,然後選擇「 建立應用程式」。
  2. 在「 建立應用程式」對話方塊中,輸入應用程式的名稱。例如,My App
  3. 在「 選擇應用程式類型」下,選擇「 單頁 Web 應用程式」。
  4. 選擇「 建立」。

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

  1. 在左側導覽列上,選擇「 使用者管理」,然後選擇「 使用者」。
  2. 選擇「 建立您的第一個使用者」。或者,如果這不是您的第一個使用者,「 建立使用者」。
  3. 在「 建立使用者」對話方塊中,輸入使用者的電子郵件和密碼。
  4. 選擇「 儲存」。

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

  1. 在左側導覽列上,選擇「 應用程式」。
  2. 選擇您建立的應用程式名稱。
  3. 在「 附加元件」索引標籤上,開啟「 SAML2 網路應用程式」。
  4. 在「 Addon: SAML2 Web 應用程式」對話方塊的「 設定」索引標籤上,針對「 應用程式回呼 URL」,請輸入:https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse
    注意:yourDomainPrefix區域 取代為您的使用者集區的值。您可以在使用者集區管理頁面的網域名稱索引標籤上的 Amazon Cognito 主控台中找到它們。
    -或-
    輸入類似下列內容的自訂網域回呼 URL:https//yourCustomDomain/saml2/idpresponse。如需詳細資訊,請參閱將自訂網域新增至使用者集區
  5. 在「 設定」下,執行下列操作:
    對於「 觀眾」,刪除註解分隔符號(//),並用 urn:amazon:cognito:sp:yourUserPoolId取代為預設值(urn:foo)。
    注意:yourUserPoolId 取代為您的 Amazon Cognito 使用者集區 ID。在使用者集區管理頁面的「 一般設定 」索引標籤上的 Amazon Cognito 主控台中尋找 ID。
    對於對應電子郵件,請刪除註解分隔符號 (//)。對 Amazon Cognito 使用者集區所需的任何其他屬性執行相同的動作。如需詳細資訊,請參閱「 使用者集區屬性」。
    如果是「 nameIdentifierFormat」,請刪除註解分隔符號 ( //)。將預設值 (urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified) 取代為 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  6. (選做) 選擇「 偵錯」,然後以您建立的測試使用者身分登入,以確認組態是否正常運作。
  7. 選擇「 啟用」,然後選擇「 儲存」。

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

在「 Addon: SAML2 Web 應用程式 」對話方塊的「 使用」索引標籤上,尋找「 身份提供者中繼資料」。然後,執行下列任一項作業:

  • 以滑鼠右鍵按一下「 下載」,然後複製 URL。
  • 選擇「 下載 」以下載 .xml 中繼資料檔案。

在 Amazon Cognito 中將 Auth0 設定為 SAML IdP

如需詳細資訊,請參閱建立和管理使用者集區的 SAML 身分提供者。遵循在您的使用者集區中設定 SAML 2.0 身分提供者下的指示。

建立 SAML IdP 時,對於中繼資料文件,貼上身分提供者中繼資料 URL,或上傳 .xml 中繼資料檔案。

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

如需詳細資訊,請參閱為您的使用者集區指定對應的身分提供者屬性,並遵循指定 SAML 提供者屬性對應下的指示進行操作。

新增 SAML 屬性時,對於「 SAML 屬性」,請輸入 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress。針對「 使用者集區屬性」,從清單中選擇「 電子郵件」。

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

  1. 在使用者集區的 Amazon Cognito 主控台管理頁面中的「 應用程式整合」下,選擇「 應用程式用戶端設定」。然後執行以下動作:
    在「 已啟用的身分提供者」下,選取「 Auth0 」和「 Cognito 使用者集區 」核取方塊。
    對於「 回呼 URL」輸入您希望在登入後重新導向使用者的 URL。若要進行測試,您可以輸入任何有效的網址,例如https://www.amazon.com
    對於「 登出 URL」,請輸入您希望在登出後重新導向使用者的 URL。若要進行測試,您可以輸入任何有效的網址,例如https://www.amazon.com
    在「 允許的 OAuth 流程」下,請務必至少選取「 隱含授權」核取方塊。
    在「 允許的 OAuth 範圍」下,請務必至少選取「 電子郵件 」和「 openid 」核取方塊。
  2. 選擇「 儲存變更」。

如需詳細資訊,請參閱應用程式用戶端設定術語

測試登入端點

  1. 在您的網頁瀏覽器中輸入此網址:https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/login?response_type=token&client_id=<yourClientId>&redirect_uri=<redirectUrl>
    注意:yourDomainPrefix區域 取代為您的使用者集區的值。您可以在使用者集區管理頁面的網域名稱索引標籤上的 Amazon Cognito 主控台中找到它們。
    yourClientId 取代為您的應用程式客戶端的 ID,並將redirectUrl 取代為您的應用程式客戶端的回調 URL。在使用者集區管理頁面的「 應用程式用戶端設定」索引標籤上的 Amazon Cognito 主控台中找到它們。
    如需詳細資訊,請參閱如何為 Amazon Cognito 設定託管的網路使用者介面?登入端點
  2. 選擇「 Auth0」。
    **注意:**如果您被重定向到應用程式客戶端的回調 URL,則表示您已在瀏覽器中登入 Auth0 帳戶。使用者集區權杖會顯示在網頁瀏覽器網址列的 URL 中。
  3. 在 Auth0 應用程式的登入頁面上,輸入您建立之測試使用者的電子郵件和密碼。
  4. 選擇「 登入」。

登入後,您將被重定向到應用客戶端的回調 URL。使用者集區權杖會顯示在網頁瀏覽器網址列的 URL 中。


相關資訊

將第三方 SAML 身分提供者與 Amazon Cognito 使用者集區整合

SAML 使用者集區 IdP 驗證流程

如何使用 Amazon Cognito 使用者集區設定第三方 SAML 身分提供者?

AWS 官方
AWS 官方已更新 2 年前