我正在查看托管登录服务的选项,而AWS Cognito看起来很有前途。
我注意到它的用户池等目前没有跨地区复制。我想确认1个区域已足够us-west-#
例如(或us-east-#
)足以满足用户遍布加拿大,美国和波多黎各的应用程序。
答案 0 :(得分:2)
通常,不仅在Cognito的情况下,您的用户越接近托管服务的数据中心越好。只有这样,您才能最大限度地减少客户与托管服务的数据中心之间的传播延迟。
因此,如果您必须选择一个区域,请选择大多数客户距离较近的区域。
AWS Cognito,目前不会跨区域复制userPools。因此,如果要对该userPool使用AccessToken,则需要转到userPool所在的区域。
现在,接受accessTokens的所有其他服务都将在AWS内部的AWS内部接受您的令牌。
答案 1 :(得分:1)
我将此补充细节添加到问题中,作为Cognito返回的令牌类型的参考。正如我刚才通过Google搜索上面答案中的一些信息找到的那样。
对userPool使用 AccessToken 可以更新用户的帐户信息。由于池未被复制,因此需要使用池所在的区域。
ID令牌
ID令牌表示为JSON Web Key Token(JWT)。令牌包含有关已验证用户身份的声明。例如,它包括 name,family_name,phone_number等声明。有关标准声明的详细信息,请参阅OpenID Connect规范。客户端应用程序可以在应用程序内使用此身份信息。 ID令牌还可用于根据资源服务器或服务器应用程序对用户进行身份验证。在应用程序外部对您的Web API使用ID令牌时,您必须先验证ID令牌的签名,然后才能信任ID令牌中的任何声明。
ID令牌在用户进行身份验证后一小时到期。您应该在客户端或Web API过期后处理ID令牌。
访问令牌
访问令牌也表示为JSON Web密钥令牌(JWT)。它包含有关经过身份验证的用户的声明,但与ID令牌不同,它不包含所有用户的身份信息。访问令牌的主要目的是授权用户池中用户上下文中的操作。例如,您可以使用针对Amazon Cognito Identity的访问令牌来更新或删除用户属性。访问令牌还可以与您的任何Web API一起使用,以制定访问控制决策并在用户的上下文中授权操作。与ID令牌一样,您必须先验证Web API中访问令牌的签名,然后才能信任访问令牌中的任何声明。
访问令牌在用户进行身份验证后一小时到期。它不应该在过期后处理。
刷新令牌
刷新令牌只能用于Amazon Cognito以检索新的访问权限或ID令牌。
默认情况下,刷新令牌在用户进行身份验证后30天到期。为用户池创建应用程序时,可以将应用程序的刷新令牌到期(天)设置为1到3650之间的任何值。