將 Amazon Cognito 網域用於託管 UI - Amazon Cognito

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

將 Amazon Cognito 網域用於託管 UI

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

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

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

所有託管的 UI 字首網域都遵循此格式:prefixauthAWS 區域 程式碼.amazoncognitocom. 自訂網域使用者集區可以在您擁有的任何網域上託管託管 UI。

注意

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

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

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

若要使用 新增應用程式用戶端和 Amazon Cognito 託管網域 AWS Management Console,請參閱 建立應用程式用戶端

必要條件

開始之前,您需要:

設定 Amazon Cognito 網域字首

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

Amazon Cognito console
設定網域
  1. 導覽至 App integration (應用程式整合) 索引標籤尋找使用者集區。

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

  3. 輸入可用的網域字首來搭配 Amazon Cognito 網域使用。如需設定 Custom domain (自訂網域) 的詳細資訊,請參閱將自有網域用於託管 UI

  4. 選擇 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>

  • AWS API: CreateUserPoolDomain

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

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

  • AWS API: DescribeUserPoolDomain

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

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

  • AWS 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會顯示在應用程式用戶端設定頁面上。