使用 Amazon Cognito 字首網域進行受管登入 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Amazon Cognito 字首網域進行受管登入

受管登入的預設體驗託管在 AWS 擁有 的網域上。這種方法進入的障礙很低,選擇字首名稱且處於作用中狀態,但沒有自訂網域的信任啟發功能。Amazon Cognito 網域選項和自訂網域選項之間沒有成本差異。唯一的差別是您引導使用者前往的 Web 地址中的網域。對於第三方 IdP 重新導向和用戶端憑證流程的情況,託管網域幾乎沒有可見效果。對於使用者使用受管登入登入登入,並且會與不符合應用程式網域的身分驗證網域互動的情況,自訂網域會更好。

託管的 Amazon Cognito 網域具有您選擇的字首,但託管於根網域 amazoncognito.com。以下是範例:

https://cognitoexample.auth.ap-south-1.amazoncognito.com

所有字首網域都遵循此格式:prefix.auth.AWS 區域 code.amazoncognitocom. 自訂網域使用者集區可以在您擁有的任何網域上託管受管登入或託管 UI 頁面。

注意

為了增強 Amazon Cognito 應用程式的安全性,使用者集區端點的父網域會在公用尾碼清單 (PSL) 中註冊。PSL 可協助使用者的網頁瀏覽器對您的使用者集區端點及其設定的 Cookie 建立一致的了解。

使用者集區父網域採用下列格式。

auth.Region.amazoncognito.com auth-fips.Region.amazoncognito.com

若要使用 新增應用程式用戶端和使用者集區網域 AWS Management Console,請參閱 建立應用程式用戶端

先決條件

開始之前,您需要:

設定 Amazon Cognito 網域字首

您可以使用 AWS Management Console 或 AWS CLI 或 API 來設定使用者集區網域。

Amazon Cognito console
設定網域
  1. 導覽至品牌下的網域功能表。

  2. 網域旁邊,選擇動作,然後選取建立 Cognito 網域。如果您已設定使用者集區字首網域,請選擇刪除 Cognito 網域,然後再建立新的自訂網域。

  3. 輸入可用的網域字首來搭配 Amazon Cognito 網域使用。如需設定自訂網域的資訊,請參閱使用您自己的網域進行受管登入

  4. 選擇品牌版本。您的品牌版本適用於該網域中的所有使用者互動頁面。您的使用者集區可以託管所有應用程式用戶端的受管登入或託管 UI 品牌。

    注意

    您可以擁有自訂網域和字首網域,但 Amazon Cognito 僅提供自訂網域的/.well-known/openid-configuration端點。

  5. 選擇 Create (建立)。

CLI/API

使用下列命令來建立網域字首,並將其指派給您的使用者集區。

設定使用者集區網域
  • AWS CLI: aws cognito-idp create-user-pool-domain

    範例aws cognito-idp create-user-pool-domain --user-pool-id <user_pool_id> --domain <domain_name> --managed-login-version 2

  • 使用者集區 API 操作:CreateUserPoolDomain

取得網域的相關資訊
  • AWS CLI: aws cognito-idp describe-user-pool-domain

    範例aws cognito-idp describe-user-pool-domain --domain <domain_name>

  • 使用者集區 API 操作: DescribeUserPoolDomain

刪除網域
  • AWS CLI: aws cognito-idp delete-user-pool-domain

    範例aws cognito-idp delete-user-pool-domain --domain <domain_name>

  • 使用者集區 API 操作:DeleteUserPoolDomain

驗證您的登入頁面

  • 驗證可從 Amazon Cognito 託管網域使用上述登入頁面。

    https://<your_domain>/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>

您的網域會顯示在 Amazon Cognito 主控台的 Domain name (網域名稱) 頁面中。您的應用程式用戶端 ID 和回呼 URL 會顯示在 App client settings (應用程式用戶端設定) 頁面中。