

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

# 設定使用者集區網域
<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 適用於自訂網域和所有子網域，例如 *\*.auth.example.com*。因此，您應用程式的任何使用者都不應該存取任何父網域*和*子網域的受管登入。當自訂網域使用相同的 TLD 時，請將它們保持在相同的子網域層級。

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

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