設定使用者集區網域 - Amazon Cognito

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

設定使用者集區網域

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

使用者在與使用者集區相關聯的網域登入託管 UI。您有兩個設定此網域的選項:您可以使用預設的 Amazon Cognito 託管網域,也可以設定您擁有的自訂網域。

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

探索OIDC端點/.well-known/openid-configuration、端點URLs和/.well-known/jwks.json權杖簽署金鑰不會託管在您的網域上。如需詳細資訊,請參閱身分提供者和依賴方端點

了解如何設定和管理 Amazon Cognito 使用者集區的網域,是將身分驗證整合到應用程式中的重要步驟。使用使用者集區API和 AWS SDK 登入,可以是設定網域的替代方案。API型模型直接在API回應中提供權杖,但對於使用使用者集區延伸功能作為 IdP OIDC 的實作,您必須設定網域。如需使用者集區中可用身分驗證模型的詳細資訊,請參閱 使用使用者集區API和授權伺服器

有關使用者集區網域的須知

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

預留術語

您無法在 Amazon Cognito aws字首域的名稱cognito中使用文字 amazon、 或 。

探索端點位於不同的網域

使用者集區探索端點.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

同時自訂和字首網域

您可以使用 擁有的自訂網域和字首網域來設定使用者集區 AWS。由於使用者集區探索端點託管於不同的網域,因此它們只會提供自訂網域 。例如,您的 openid-configuration將提供 "authorization_endpoint"的單一值"https://auth.example.com/oauth2/authorize"

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

請勿在網域階層的不同層級使用自訂網域

您可以設定個別使用者集區,以在相同的頂層網域 (TLD) 中具有自訂網域,例如 auth.example.comauth2.example.com。託管 UI 工作階段 Cookie 對自訂網域和所有子網域有效,例如 *.auth.example.com。因此,您應用程式的任何使用者都不應該存取任何父網域和子網域的託管 UI。如果自訂網域使用相同的 TLD,請將它們保持在相同的子網域層級。

假設您擁有具有自訂網域 auth.example.com 的使用者集區。然後,您可以建立另一個使用者集區並指派自訂網域 uk.auth.example.com。使用者使用 auth.example.com 登入,並取得其瀏覽器呈現給 *.auth.example.com 的 Cookie。然後,他們嘗試登入 uk.auth.example.com。它們會將無效的 Cookie 傳遞至託管的 UI,並收到錯誤而非登入提示。相比之下,具有適用於 *.auth.example.com 的 Cookie 的使用者在 auth2.example.com 上啟動登入工作階段沒有問題。