我使用 AWS Cognito 构建无服务器后端以进行用户管理。
Cognito 使用cognitoId
和sub
来识别用户。
来自官方 awslabs 的这个项目使用 cognitoId 作为数据库表中的主键将数据链接到用户对象,但有关文档sub
明确指出:
sub
:经过身份验证的用户的 UUID。这与username
.
问题:我应该使用什么作为主键,cognitoID
或者sub
?
我使用 AWS Cognito 构建无服务器后端以进行用户管理。
Cognito 使用cognitoId
和sub
来识别用户。
来自官方 awslabs 的这个项目使用 cognitoId 作为数据库表中的主键将数据链接到用户对象,但有关文档sub
明确指出:
sub
:经过身份验证的用户的 UUID。这与username
.
问题:我应该使用什么作为主键,cognitoID
或者sub
?
命名可能会令人困惑,我将尝试澄清。
Amazon Cognito 旗下通常有两个池:
您所指的“子”通常在 IAM 策略中表示为
${认知身份.amazonaws.com:sub}
并将解析为(在 javascript sdk 中)中找到的值
AWS.config.credentials.identityId
看起来像
us-east-1:########-####-####-####-############
仅在刷新凭据后,它才会存在于凭据上。
因此,要回答您的问题,sub。
sub
(主题) 是全局唯一的,因此对于用户池也是唯一的。