如何將 Auth0 設定為 SAML 身分提供者,並與 Amazon Cognito 使用者集區搭配使用?
我想將 Auth0 設定為 SAML 2.0 身分提供者 (IdP) 並與 Amazon Cognito 使用者集區搭配使用。
簡短描述
您必須擁有一個具有應用程式用戶端、網域名稱和 Auth0 帳戶 (其中包含 Auth0 應用程式) 的 Cognito 使用者集區。如需更多資訊,請參閱使用第三方身分提供者登入使用者集區和將 SAML 身分提供者與使用者集區搭配使用。
解決方法
使用應用程式用戶端和網域名稱建立 Cognito 使用者集區
如需資訊,請參閱下列 AWS 文件:
- 為您的使用者集區新增更多功能和安全性選項
注意:建立使用者集區時,依預設會選取標準屬性電子郵件。如需詳細資訊,請參閱使用使用者屬性。 - 使用者集區受管登入
**注意:**應用程式用戶端密碼是選擇性組態。 - 設定使用者集區網域
註冊 Auth0 帳戶
如果您還沒有 Auth0 帳戶,請在 Auth0 註冊網站上註冊一個。
建立 Auth0 應用程式
請完成下列步驟:
- 在 Auth0 Dashboard (Auth0 儀表板) 上,選擇 Applications (應用程式),然後選擇 Create Application (建立應用程式)。
- 在 Create Application (建立應用程式) 方塊中,輸入應用程式的名稱,例如 My App (我的應用程式)。
- 在 Choose an application type (選擇應用程式類型) 下,選擇 Single Page Web Applications (單頁 Web 應用程式)。
- 選擇 Create (建立)。
為您的 Auth0 應用程式建立測試使用者
請完成下列步驟:
- 在 Auth0 Dashboard (Auth0 儀表板) 的導覽窗格中,選擇 User Management (使用者管理),然後選擇 Users (使用者)。
- 選擇 Create Your First User (建立第一個使用者) 或 Create User (建立使用者)。
- 在 Create user (建立使用者) 方塊中,輸入測試使用者的電子郵件和密碼。
- 選擇 Save (儲存)。
為您的應用程式設定 SAML 設定
請完成下列步驟:
- 在 Auth0 Dashboard (Auth0 儀表板) 的導覽窗格中,選擇 Applications (應用程式)。
- 選擇您所建立應用程式的名稱。
- 在 Addons (附加元件) 索引標籤上,開啟 SAML2 Web App (SAML2 Web 應用程式)。
- 在 Addon: SAML2 Web App (附加元件:SAML2 Web 應用程式) 方塊的 Settings (設定) 索引標籤上,在 Application Callback URL (應用程式回呼網址) 中,輸入:https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse。
**注意:**將 yourDomainPrefix 和 region 分別替換為您使用者集區的網域前置詞和 AWS 區域。您可以在使用者集區 Management (管理) 頁面的 Domain name (網域名稱) 索引標籤上找到它們。或者,輸入類似 https//yourCustomDomain/saml2/idpresponse 的自訂網域回呼網址。 - 在 Settings (設定) 下,在 Audience (對象) 中刪除註解分隔符號 (//),並將預設值 urn:foo 替換為 urn:amazon:cognito:sp:yourUserPoolId。
**注意:**將 yourUserPoolId 替換為您的 Cognito 使用者集區 ID。您可以在使用者集區 Management 管理頁面的 General settings (一般設定) 索引標籤上找到該 ID。 - 在 mappings (對應) 和 email (電子郵件) 中,刪除註解分隔符號 (//)。刪除使用者集區所需的任何其他使用者屬性。
- 在 nameIdenetifierFormat 中,刪除註解分隔符號 (//)。將預設值 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 替換為 urn:oasis:names:tc:SAML:2.0:nameid-format:persistent。
- (選用) 選擇 Debug (偵錯)。若要確認組態是否有效,請以測試使用者身分登入。
- 選擇 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 中變更應用程式用戶端設定
請完成下列步驟:
- 開啟 Cognito console (Cognito 主控台)。
- 選取您的使用者集區。
- 在使用者集區的 Management (管理) 頁面上,在 Applications (應用程式) 下選擇 Select your desired app client (選取所需的應用程式用戶端)。
- 在 Login Pages (登入頁面) 下,編輯您的受管登入頁面組態。
- 在 Identity providers (身分提供者) 下,選取 Auth0 和 Cognito 使用者集區。
- 在 Allowed Callback URL(s) (允許的回呼網址) 中,輸入您希望使用者在您登入後重新導向到網址。若要測試驗證,您可以輸入任何有效的網址,例如 https://www.amazon.com。
- 在 Allowed Sign-out URL(s) (允許的登出網址) 中,輸入您希望使用者在您登出後重新導向到網址。若要測試驗證,您可以輸入任何有效的網址,例如 https://www.amazon.com。
- 在 Allowed OAuth Flows (允許的 OAuth 流程) 下,至少選取 Implicit grant (隱含授與)。
- 在 Allowed OAuth Scopes (允許的 OAuth 範圍) 下,至少選取電子郵件和 openid。
- 選擇 Save changes (儲存變更)。
如需詳細資訊,請參閱應用程式用戶端條款。
測試登入端點
請完成下列步驟:
- 在您的網頁瀏覽器中輸入 https://.auth..amazoncognito.com/login?response_type=token&client_id=&redirect_uri= 網址。
- 將 yourDomainPrefix 和 region 替換為您使用者集區的值。您可以在使用者集區 Management (管理) 頁面的 Branding (品牌) 下,於 Domain name (網域名稱) 索引標籤上找到它們。
- 將 yourClientId 替換為您的應用程式用戶端 ID,並將 redirectUrl 替換為您應用程式用戶端的回呼網址。您可以在使用者集區 Management 管理頁面的 Application (應用程式) 下,於 App client settings (應用程式用戶端設定) 索引標籤上找到它們。如需詳細資訊,請參閱受管登入端點:/login。
- 選擇 Auth0。
**注意:**如果系統將您重新導向至應用程式用戶端的回呼網址,則表示您已在瀏覽器中登入您的 Auth0 帳戶。 - 在 Auth0 應用程式的登入頁面上,輸入測試使用者的電子郵件和密碼。
- 選擇 Log in (登入)。
登入後,系統會將您重新導向到應用程式用戶端的回呼網址。使用者集區權杖會顯示在網頁瀏覽器網址列的 URL 中。
相關資訊
- 語言
- 中文 (繁體)

