

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

# 設定使用者集區網域
<a name="cognito-user-pools-assign-domain"></a>

設定網域是設定使用者集區的選用部分。使用者集區網域託管使用者身分驗證、與第三方供應商的聯合，以及 OpenID Connect (OIDC) 流程的功能。它具有*受管登入*，這是用於註冊、登入和密碼復原等金鑰操作的預先建置界面。它還託管標準 OpenID Connect (OIDC) 端點，例如[授權](authorization-endpoint.md)、[userInfo](userinfo-endpoint.md) 和[字符](token-endpoint.md)，用於machine-to-machine(M2M) 授權和其他 OIDC 和 OAuth 2.0 身分驗證和授權流程。

使用者在與使用者集區相關聯的網域使用受管登入頁面進行身分驗證。您有兩個設定此網域的選項：您可以使用預設的 Amazon Cognito 託管網域，也可以設定您擁有的自訂網域。

自訂網域選項具有更多彈性、安全性和控制的選項。例如，熟悉的組織擁有網域可以鼓勵使用者信任，並讓登入程序更直覺。不過，自訂網域方法需要一些額外的額外負荷，例如管理 SSL 憑證和 DNS 組態。

對於`/.well-known/openid-configuration`端點 URLs 和`/.well-known/jwks.json`字符簽署金鑰，OIDC 探索端點不會託管在您的網域上。如需詳細資訊，請參閱[身分提供者和依賴方端點](federation-endpoints.md)。

了解如何設定和管理使用者集區的網域，是將身分驗證整合到您的應用程式的重要步驟。使用使用者集區 API 和 AWS SDK 登入可以是設定網域的替代方案。以 API 為基礎的模型會直接在 API 回應中交付權杖，但對於使用使用者集區擴充功能做為 OIDC IdP 的實作，您必須設定網域。如需使用者集區中可用身分驗證模型的詳細資訊，請參閱 [了解 API、OIDC 和受管登入頁面身分驗證](authentication-flows-public-server-side.md#user-pools-API-operations)。

**Topics**
+ [使用者集區網域的須知事項](#cognito-user-pools-assign-domain-things-to-know)
+ [使用 Amazon Cognito 字首網域進行受管登入](cognito-user-pools-assign-domain-prefix.md)
+ [使用您自己的網域進行受管登入](cognito-user-pools-add-custom-domain.md)

## 使用者集區網域的須知事項
<a name="cognito-user-pools-assign-domain-things-to-know"></a>

使用者集區網域是應用程式中 OIDC 依賴方和 UI 元素的服務點。當您為使用者集區規劃網域實作時，請考慮下列詳細資訊。

**預留條款**  
您無法在 Amazon Cognito `aws`字首網域的名稱`cognito`中使用文字 `amazon`、 或 。

**探索端點位於不同的網域**  
使用者集區[探索端點](federation-endpoints.md)`.well-known/openid-configuration``.well-known/jwks.json`和 不在您的使用者集區自訂或字首網域上。這些端點的路徑如下所示。
+ `https://cognito-idp.Region.amazonaws.com/your user pool ID/.well-known/openid-configuration`
+ `https://cognito-idp.Region.amazonaws.com/your user pool ID/.well-known/jwks.json`

**網域變更的有效時間**  
Amazon Cognito或更新字首網域的品牌版本可能需要一分鐘的時間。自訂網域的變更最多可能需要五分鐘才能傳播。新的自訂網域最多可能需要一小時才能傳播。

**同時自訂和字首網域**  
您可以使用自訂網域和 擁有的前綴網域來設定使用者集區 AWS。由於使用者集區[探索端點](federation-endpoints.md)託管在不同網域，因此它們只會提供*自訂網域*。例如，您的 `openid-configuration`會提供 `"authorization_endpoint"`的單一值`"https://auth.example.com/oauth2/authorize"`。

當您在使用者集區中同時有自訂網域和字首網域時，您可以使用具有 OIDC 供應商完整功能的自訂網域。具有此組態的使用者集區中的字首網域沒有探索或token-signing-key端點，應相應使用。

**偏好做為通行密鑰依賴方 ID 的自訂網域**  
當您使用[通行金鑰](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passkey)設定使用者集區身分驗證時，您必須設定依賴方 (RP) ID。當您有自訂網域和字首網域時，您只能將 RP ID 設定為自訂網域。若要在 Amazon Cognito 主控台中將字首網域設定為 RP ID，請刪除您的自訂網域，或將字首網域的完整網域名稱 (FQDN) 輸入為**第三方網域**。

**請勿在網域階層的不同層級使用自訂網域**  
您可以設定個別使用者集區，在相同的頂層網域 (TLD) 中具有自訂網域，例如 *auth.example.com* 和 *auth2.example.com*。受管登入工作階段 Cookie 適用於自訂網域和所有子網域，例如 *\$1.auth.example.com*。因此，您應用程式的任何使用者都不應該存取任何父網域*和*子網域的受管登入。當自訂網域使用相同的 TLD 時，請將它們保持在相同的子網域層級。

假設您有一個具有自訂網域 *auth.example.com* 的使用者集區。然後，您可以建立另一個使用者集區，並指派自訂網域 *uk.auth.example.com。*使用者使用 *auth.example.com 登入，*並取得其瀏覽器提供給萬用字元路徑 *\$1.auth.example.com* 中任何網站的 Cookie。然後，他們嘗試登入 *uk.auth.example.com。*它們會將無效的 Cookie 傳遞給您的使用者集區網域，並收到錯誤，而不是登入提示。相反地，具有適用於 *\$1.auth.example.com* 的 Cookie 的使用者在 *auth2.example.com*：// 上啟動登入工作階段沒有問題。

**品牌版本**  
建立網域時，您會設定**品牌版本**。您的選項是較新的受管登入體驗和傳統託管 UI 體驗。此選項適用於在您的網域託管服務的所有應用程式用戶端。

# 使用 Amazon Cognito 字首網域進行受管登入
<a name="cognito-user-pools-assign-domain-prefix"></a>

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

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

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

所有字首網域都遵循此格式：`prefix`.`auth`.*`AWS 區域 code`*.`amazoncognito``com`. [自訂網域](cognito-user-pools-add-custom-domain.md)使用者集區可以在您擁有的任何網域上託管受管登入或託管 UI 頁面。

**注意**  
為了增強 Amazon Cognito 應用程式的安全性，使用者集區端點的父網域會在[公用尾碼清單 (PSL)](https://publicsuffix.org/) 中註冊。PSL 可協助使用者的網頁瀏覽器對您的使用者集區端點及其設定的 Cookie 建立一致的了解。  
使用者集區父網域採用下列格式。  

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

若要使用 新增應用程式用戶端和使用者集區網域 AWS 管理主控台，請參閱 [建立應用程式用戶端](user-pool-settings-client-apps.md#cognito-user-pools-app-idp-settings-console-create)。

**Topics**
+ [先決條件](#cognito-user-pools-assign-domain-prefix-prereq)
+ [設定 Amazon Cognito 網域字首](#cognito-user-pools-assign-domain-prefix-step-1)
+ [驗證您的登入頁面](#cognito-user-pools-assign-domain-prefix-verify)

## 先決條件
<a name="cognito-user-pools-assign-domain-prefix-prereq"></a>

開始之前，您需要：
+ 搭配應用程式用戶端的使用者集區。如需詳細資訊，請參閱[使用者集區入門](getting-started-user-pools.md)。

## 設定 Amazon Cognito 網域字首
<a name="cognito-user-pools-assign-domain-prefix-step-1"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 或 API 來設定使用者集區網域。

------
#### [ Amazon Cognito console ]

**設定網域**

1. 導覽至**品牌**下的**網域**功能表。

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

1. 輸入可用的網域字首來搭配 **Amazon Cognito 網域**使用。如需設定**自訂網域**的資訊，請參閱 [使用您自己的網域進行受管登入](cognito-user-pools-add-custom-domain.md)。

1. 選擇**品牌版本**。您的品牌版本適用於該網域中的所有使用者互動頁面。您的使用者集區可以託管所有應用程式用戶端的受管登入或託管 UI 品牌。
**注意**  
您可以擁有自訂網域和字首網域，但 Amazon Cognito 僅提供*自訂*網域的`/.well-known/openid-configuration`端點。

1. 選擇**建立**。

------
#### [ 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](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolDomain.html)

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

  **範例**：`aws cognito-idp describe-user-pool-domain --domain <domain_name>`
+ 使用者集區 API 操作：[DescribeUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPoolDomain.html)

**刪除網域**
+ AWS CLI: `aws cognito-idp delete-user-pool-domain`

  **範例**：`aws cognito-idp delete-user-pool-domain --domain <domain_name>`
+ 使用者集區 API 操作：[DeleteUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteUserPoolDomain.html)

------

## 驗證您的登入頁面
<a name="cognito-user-pools-assign-domain-prefix-verify"></a>
+ 驗證可從 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 (應用程式用戶端設定)** 頁面中。

# 使用您自己的網域進行受管登入
<a name="cognito-user-pools-add-custom-domain"></a>

設定應用程式用戶端之後，您可以使用[受管登入](cognito-user-pools-managed-login.md)的網域服務的自訂網域來設定使用者集區。透過自訂網域，使用者可以使用您自己的 Web 地址登入您的應用程式，而非預設`amazoncognito.com`[字首網域](cognito-user-pools-assign-domain-prefix.md)。自訂網域會使用熟悉的網域名稱改善應用程式的使用者信任，尤其是當根網域符合託管應用程式的網域時。自訂網域可以提高組織安全需求的合規性。

自訂網域有一些先決條件，包括使用者集區、應用程式用戶端和您擁有的 Web 網域。自訂網域還需要自訂網域的 SSL 憑證，在美國東部 AWS Certificate Manager （維吉尼亞北部） 使用 (ACM) 管理。Amazon Cognito 會建立使用 ACM 憑證保護傳輸中的 Amazon CloudFront 分佈。由於您擁有網域，因此您必須建立 DNS 記錄，將流量導向自訂網域的 CloudFront 分佈。

這些元素準備就緒後，您可以透過 Amazon Cognito 主控台或 API 將自訂網域新增至使用者集區。這包括指定網域名稱和 SSL 憑證，然後使用提供的別名目標更新您的 DNS 組態。進行這些變更後，您可以驗證登入頁面是否可在您的自訂網域存取。

建立自訂網域最不費力的方式是使用 Amazon Route 53 中的公有託管區域。Amazon Cognito 主控台只需幾個步驟即可建立正確的 DNS 記錄。開始之前，請考慮為您擁有的網域或子網域[建立 Route 53 託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html)。

**Topics**
+ [將自訂網域新增到使用者集區](#cognito-user-pools-add-custom-domain-adding)
+ [先決條件](#cognito-user-pools-add-custom-domain-prereq)
+ [步驟 1：輸入您的自訂網域名稱](#cognito-user-pools-add-custom-domain-console-step-1)
+ [步驟 2：新增別名目標和子網域](#cognito-user-pools-add-custom-domain-console-step-2)
+ [步驟 3：驗證您的登入頁面](#cognito-user-pools-add-custom-domain-console-step-3)
+ [變更自訂網域所用的 SSL 憑證](#cognito-user-pools-add-custom-domain-changing-certificate)

## 將自訂網域新增到使用者集區
<a name="cognito-user-pools-add-custom-domain-adding"></a>

若要新增自訂網域到您的使用者集區，請由 Amazon Cognito 主控台指定網域名稱，並提供您透過 [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/) (ACM) 所管理的憑證。在您新增網域後，Amazon Cognito 將提供別名目標以讓您加入至您的 DNS 組態。

## 先決條件
<a name="cognito-user-pools-add-custom-domain-prereq"></a>

開始之前，您需要：
+ 搭配應用程式用戶端的使用者集區。如需詳細資訊，請參閱[使用者集區入門](getting-started-user-pools.md)。
+ 您擁有的 Web 網域。其*父網域*必須有一個有效的 DNS **A 記錄**。您可以為此記錄指派任何值。父網域可能是網域的根，也可以是網域階層中向上一層的子網域。例如，如果您的自訂網域是 *auth.xyz.example.com*，則 Amazon Cognito 必須能夠將 *yz.example.com* 解析至一個 IP 地址。為了避免意外影響客戶基礎設施，Amazon Cognito 不支援將頂層網域 (TLD) 用於自訂網域。如需詳細資訊，請參閱[網域名稱](https://tools.ietf.org/html/rfc1035)。
+ 能夠為您的自訂網域建立子網域。我們建議您對子網域名稱**進行身分驗證**。例如：*auth.example.com*。
**注意**  
如果您沒有[萬用字元憑證](https://en.wikipedia.org/wiki/Wildcard_certificate)，那麼您可能需要為自訂網域的子網域取得新憑證。
+ 由美國東部 （維吉尼亞北部） ACM 管理的公有 SSL/TLS 憑證。憑證必須位於 us-east-1 中，因為憑證將與全球服務 CloudFront 中的分佈相關聯。
+ 支援伺服器名稱指示 (SNI) 的瀏覽器用戶端。Amazon Cognito 指派給自訂網域的 CloudFront 分佈需要 SNI。您無法變更此設定。如需 CloudFront 分佈中 SNI 的詳細資訊，請參閱《*Amazon CloudFront 開發人員指南*》中的[使用 SNI 提供 HTTPS 請求](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html#cnames-https-sni)。
+ 允許使用者集區授權伺服器將 Cookie 新增至使用者工作階段的應用程式。Amazon Cognito 為受管登入頁面設定數個必要的 Cookie。其中包括 `cognito`、`cognito-fl` 和 `XSRF-TOKEN`。雖然每個個別 Cookie 都符合瀏覽器大小限制，但使用者集區組態的變更可能會導致受管登入 Cookie 的大小增加。自訂網域前面的 Application Load Balancer (ALB) 等中繼服務可能會強制執行最大標頭大小或總 Cookie 大小。如果您的應用程式也設定自己的 Cookie，使用者的工作階段可能會超過這些限制。建議您的應用程式不要在託管使用者集區網域服務的子網域上設定 Cookie，以避免大小限制衝突。
+ 更新 Amazon CloudFront 分佈的許可。做法是將下列 IAM 政策陳述式連接至您 AWS 帳戶中的使用者：

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
           {
              "Sid": "AllowCloudFrontUpdateDistribution",
              "Effect": "Allow",
              "Action": [
                  "cloudfront:updateDistribution"
              ],
              "Resource": [
                  "*"
              ]
          }
      ]
  }
  ```

------

  如需有關授權 CloudFront 中動作的詳細資訊，請參閱[將以身分為基礎的政策 (IAM 政策) 用於 CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/access-control-managing-permissions.html)。

  Amazon Cognito 一開始會使用您的 IAM 許可來設定 CloudFront 分發，但分發是由 AWS管理。您無法變更 Amazon Cognito 與您的使用者集區相關聯之 CloudFront 分發的組態。例如，您無法更新安全性政策中支援的 TLS 版本。

## 步驟 1：輸入您的自訂網域名稱
<a name="cognito-user-pools-add-custom-domain-console-step-1"></a>

您可以使用 Amazon Cognito 主控台或 API，新增網域到您的使用者集區。

------
#### [ Amazon Cognito console ]

**從 Amazon Cognito 主控台新增網域到您的使用者集區：**

1. 導覽至**品牌**下的**網域**功能表。

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

1. 在**網域**旁邊，選擇**動作**，然後選取**建立自訂網域**。如果您已設定自訂網域，請選擇**刪除自訂網域**以刪除現有網域，然後再建立新的自訂網域。

1. 對於 **Custom domain** (自訂網域)，輸入您要與 Amazon Cognito 搭配使用之網域的 URL。網域名稱只能包含小寫字母、數字和連字號。第一個字元或最後一個字元切勿使用連字號。使用句號分隔子網域名稱。

1. 對於 **ACM certificate** (ACM 憑證)，選擇您要用於此網域的 SSL 憑證。只有美國東部 （維吉尼亞北部） 的 ACM 憑證才有資格與 Amazon Cognito 自訂網域搭配使用，無論您 AWS 區域 的使用者集區為何。

   如果您沒有可用的憑證，則可使用 ACM 在美國東部 (維吉尼亞北部) 佈建一個憑證。如需詳細資訊，請參閱 *AWS Certificate Manager 使用者指南*中的[入門](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。

1. 選擇**品牌版本**。您的品牌版本適用於該網域中的所有使用者互動頁面。您的使用者集區可以託管所有應用程式用戶端的受管登入或託管 UI 品牌。
**注意**  
您可以擁有自訂網域和字首網域，但 Amazon Cognito 僅提供*自訂*網域的`/.well-known/openid-configuration`端點。

1. 選擇**建立**。

1. Amazon Cognito 會將您返回**網域**功能表。系統會顯示標題為 **Create an alias record in your domain's DNS** (在您網域的 DNS 中建立別名記錄) 的訊息。請記下主控台中顯示的 **Domain** (網域) 和 **Alias target** (別名目標)。會在下一個步驟中使用它們，以將流量導向您的自訂網域。

------
#### [ API ]

下列 [CreateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolDomain.html) 請求內文會建立自訂網域。

```
{
   "Domain": "auth.example.com",
   "UserPoolId": "us-east-1_EXAMPLE",
   "ManagedLoginVersion": 2,
   "CustomDomainConfig": {
    "CertificateArn": "arn:aws:acm:us-east-1:111122223333:certificate/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
   }
}
```

------

## 步驟 2：新增別名目標和子網域
<a name="cognito-user-pools-add-custom-domain-console-step-2"></a>

在此步驟中，您會透過網域名稱伺服器 (DNS) 服務供應商，設定可指回在先前步驟所指定別名目標的別名。如果是使用 Amazon Route 53 進行 DNS 位址解析，請選擇**使用 Route 53 新增別名目標和子網域**一節。

### 將別名目標和子網域新增到目前的 DNS 組態
<a name="cognito-user-pools-add-custom-domain-console-step-2a"></a>
+ 如果不是使用 Route 53 進行 DNS 地址解析，則您必須使用 DNS 服務供應商的組態工具，將先前步驟中的別名目標新增為網域的 DNS 記錄。您的 DNS 供應商也必須為您的自訂網域設定子網域。

### 使用 Route 53 新增別名目標和子網域
<a name="cognito-user-pools-add-custom-domain-console-step-2b"></a>

1. 登入 [Route 53 主控台](https://console.aws.amazon.com/route53/)。如果出現提示，請輸入您的 AWS 登入資料。

1. 如果您在 Route 53 中沒有公有託管區域，請使用您自訂網域的父系根建立一個託管區域。如需詳細資訊，請參閱《*Amazon Route 53 開發人員指南*》中的[建立公有託管區域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html)。

   1. 選擇**建立託管區域**。

   1. 輸入您自訂網域的上層網域，例如 *auth.example.com*，來自 **Domain Name** (網域名稱) 清單的網域，例如 *myapp.auth.example.com*。

   1. 輸入託管區域的**說明**。

   1. 選擇 **Public hosted zone** (公有託管區域) 的託管區域 **Type** (類型)，以允許公有用戶端解析您的自訂網域。不支援選擇 **Private hosted zone** (私有託管區域)。

   1. 根據需要套用 **Tags** (標籤)。

   1. 選擇**建立託管區域**。
**注意**  
您也可以為自訂網域建立新的託管區域，並在父託管區域中設定委派，將查詢導向子網域託管區域。否則，請建立 A 記錄。此方法為您的託管區域提供更多靈活性與安全性。如需詳細資訊，請參閱[為透過 Amazon Route 53 託管的網域建立子網域](https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/)。

1. 在 **Hosted Zones (託管區域)** 頁面上，選擇託管區域的名稱。

1. 如果您還沒有自訂網域的父系網域，請新增 DNS 記錄。使用下列屬性建立父系網域的 DNS 記錄：
   + **記錄名稱**：保留空白。
   + **記錄類型**：`A`。
   + **別名**：不啟用。
   + **值**：輸入您選擇的目標。此記錄必須解析為*某個項目*，但記錄的值對 Amazon Cognito 無關緊要。
   + **TTL**：設定為您偏好的 TTL 或保留為預設值。
   + **路由政策**：選擇**簡易路由**。

1. 選擇**建立記錄**。以下是網域 *example.com* 的範例記錄：

   `example.com. 60 IN A 198.51.100.1`
**注意**  
Amazon Cognito 會驗證您自訂網域的上層網域是否有 DNS 記錄，以防止生產網域遭到意外劫持。如果您沒有上層網域的 DNS 記錄，則 Amazon Cognito 會在您嘗試設定自訂網域時傳回錯誤。開始授權 (SOA) 記錄不足以進行父網域驗證。

1. 為您的自訂網域新增具有下列屬性的另一個 DNS 記錄：
   + **記錄名稱**：您的自訂網域字首，例如為 `auth`建立記錄`auth.example.com`。
   + **記錄類型**：`A`。
   + **別名**：啟用。
   + 將**流量路由到**：選擇**別名到 Cloudfront 分佈**。輸入您先前記錄的**別名目標**，例如 `123example.cloudfront.net`。
   + **路由政策**：選擇**簡易路由**。

1. 選擇**建立記錄**。
**注意**  
您的新記錄可能需要大約 60 秒才能傳播到所有 Route 53 DNS 伺服器。您可以使用 Route 53 [GetChange](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html) API 方法驗證您的變更是否已傳播。

## 步驟 3：驗證您的登入頁面
<a name="cognito-user-pools-add-custom-domain-console-step-3"></a>
+ 驗證可從自訂網域使用上述登入頁面。

  在瀏覽器中輸入這個地址後，登入您的自訂網域和子網域。下面是自訂網域 *example.com*、子網域 *auth* 的範例 URL：

  ```
  https://myapp.auth.example.com/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>
  ```

## 變更自訂網域所用的 SSL 憑證
<a name="cognito-user-pools-add-custom-domain-changing-certificate"></a>

必要時，您可以使用 Amazon Cognito 變更自訂網域所要套用的憑證。

通常，若是由 ACM 例行憑證續約便不需要這麼做。當您在 ACM 續約現有的憑證時，該憑證的 ARN 將保持不變，而且您的自訂網域會自動使用新的憑證。

不過，若您使用新的憑證取代現有的憑證，則 ACM 將為新的憑證指派新的 ARN。若要將新憑證套用到您的自訂網域，您必須向 Amazon Cognito 提供該 ARN。

在您提供新憑證之後，Amazon Cognito 需歷經 1 小時才能將其分發到您的自訂網域。

**開始之前**  
若要在 Amazon Cognito 中變更您的憑證，您必須先將該憑證新增至 ACM。如需詳細資訊，請參閱 *AWS Certificate Manager 使用者指南*中的[入門](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。  
將憑證新增至 ACM 時，您必須選擇美國東部 (維吉尼亞北部) 當作 AWS 區域。

您可以使用 Amazon Cognito 主控台或 API 變更您的憑證。

------
#### [ AWS 管理主控台 ]

**從 Amazon Cognito 主控台續約憑證：**

1. 登入 AWS 管理主控台 並開啟位於 的 Amazon Cognito 主控台[https://console.aws.amazon.com/cognito/home](https://console.aws.amazon.com/cognito/home)。

1. 選擇 **User Pools** (使用者集區)。

1. 選擇您要為其更新憑證的使用者集區。

1. 選擇**網域**功能表。

1. 選擇 **Actions** (動作)、**Edit ACM certificate** (編輯 ACM 憑證)。

1. 選取您要與自訂網域產生關聯的新憑證。

1. 選擇**儲存變更**。

------
#### [ API ]

**續約憑證 (Amazon Cognito API)**
+ 使用 [UpdateUserPoolDomain](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolDomain.html) 動作。

------