单个 AWS Cognito 区域(例如 us-west-2)是否适合为加拿大、美国和波多黎各提供服务?



我正在寻找托管登录服务的选项,AWS Cognito 看起来很有前途。

我注意到它的用户池等目前没有跨区域复制。我想确认 1 个区域就足够了us-west-#例如(或us-east-#个)对于用户遍布加拿大、美国和波多黎各的应用程序来说就足够了。

一般来说,不仅在 Cognito 的情况下,您的用户在托管您的服务的数据中心越近越好。 这只是为了最大限度地减少客户端和托管服务的数据中心之间的传播延迟。

因此,如果必须选择一个区域,请选择大多数客户更接近的区域。

AWS Cognito 目前不会跨区域复制用户池。因此,如果要对该用户池使用 AccessToken,则需要转到该用户池所在的区域。

现在,所有其他接受 accessToken 的服务都将接受您在 AWS 内部、AWS 外部的任何区域的令牌。

我将这个补充细节添加到问题中,作为 Cognito 返回的令牌类型的参考。因为我刚刚通过谷歌搜索上面答案中的一些信息找到了它。

对用户池使用AccessToken将用于更新用户帐户信息等操作。使用池所在的区域需要哪个区域,因为不会复制池。

http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html

ID 令牌

ID 令牌表示为 JSON Web 密钥令牌 (JWT)。令牌包含有关经过身份验证的用户的身份的声明。例如,它包括名称、family_name、phone_number等声明。有关标准声明的详细信息,请参阅 OpenID 连接规范。客户端应用可以在应用程序内使用此标识信息。ID 令牌还可用于针对资源服务器或服务器应用程序对用户进行身份验证。在应用程序外部针对 Web API 使用 ID 令牌时,必须先验证 ID 令牌的签名,然后才能信任 ID 令牌中的任何声明。

ID 令牌在用户进行身份验证一小时后过期。在 ID 令牌过期后,不应在客户端或 Web API 中处理该令牌。

访问令牌

访问令牌也表示为 JSON Web 密钥令牌 (JWT)。它包含有关经过身份验证的用户的声明,但与 ID 令牌不同,它不包括用户的所有标识信息。访问令牌的主要用途是在用户池中的用户上下文中授权操作。例如,您可以使用针对 Amazon Cognito Identity 的访问令牌来更新或删除用户属性。访问令牌还可以与任何 Web API 一起使用,以在用户上下文中做出访问控制决策和授权操作。与 ID 令牌一样,必须先在 Web API 中验证访问令牌的签名,然后才能信任访问令牌中的任何声明。

访问令牌在用户进行身份验证一小时后过期。过期后不应对其进行处理。

刷新令牌

刷新令牌只能用于针对 Amazon Cognito 检索新的访问或 ID 令牌。

默认情况下,刷新令牌在用户进行身份验证后 30 天过期。为用户池创建应用程序时,您可以将应用程序的刷新令牌过期时间(天)设置为 1 到 3650 之间的任何值。

最新更新