AWS Cognito:Cognito ID和sub之间的区别,我应该使用什么作为主键?

时间:2017-03-07 10:34:26

标签: amazon-web-services aws-cognito

我使用AWS Cognito构建无服务器后端以进行用户管理。

Cognito使用cognitoIdsub来识别用户。

来自官方awslabs的

This项目使用cognitoId作为数据库表中的主键将数据链接到用户对象,但有关sub的文档明确指出:

  

sub:经过身份验证的用户的UUID。这与username不同。

问题:我应该将哪些用作主键cognitoIDsub

2 个答案:

答案 0 :(得分:7)

命名可能会令人困惑,我会尽力澄清。

Amazon Cognito旗下通常有两个游泳池:

  • 用户池
  • 身份池(联合身份)

您所指的“sub”通常在IAM Policies中表示为

  

$ {cognito-identity.amazonaws.com:sub}

并将解析为(在javascript sdk中)

中找到的值
  

AWS.config.credentials.identityId

看起来像

  

我们 - 东 - 1:############ - ######## - ############

刷新凭据后,它只会存在于凭据上。

所以回答你的问题, sub

答案 1 :(得分:3)

  • sub主题主题)是全局唯一的,因此对于用户池也是唯一的。
  • 与可以在用户池中重新分配给另一个用户名的用户名不同,sub永远不会重新分配。

Source