Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 我可以使用AWS Cognito中的userSub作为主键吗?_Authentication_Amazon Cognito - Fatal编程技术网

Authentication 我可以使用AWS Cognito中的userSub作为主键吗?

Authentication 我可以使用AWS Cognito中的userSub作为主键吗?,authentication,amazon-cognito,Authentication,Amazon Cognito,我希望使用Cognito附带的数据作为辅助密钥连接到其他数据库。我可能会使用用户名或电子邮件。然而,根据项目要求,使用敏感数据作为其他数据库的主键会引起很多关注。我正在寻找另一种设置唯一键的方法。想知道userSub是否可以用作每个用户的唯一密钥?或者我可以使用任何其他值?当在Cognito用户池中创建用户时,Cognito为每个用户生成一个子用户,该子用户在整个用户池中是唯一的。因此,您可以使用子字段作为用户的唯一标识符 尽管现在考虑到您正在为用户使用用户名,但用户名需要是唯一的,因此您也可以

我希望使用Cognito附带的数据作为辅助密钥连接到其他数据库。我可能会使用用户名或电子邮件。然而,根据项目要求,使用敏感数据作为其他数据库的主键会引起很多关注。我正在寻找另一种设置唯一键的方法。想知道userSub是否可以用作每个用户的唯一密钥?或者我可以使用任何其他值?

当在Cognito用户池中创建用户时,Cognito为每个用户生成一个子用户,该子用户在整个用户池中是唯一的。因此,您可以使用子字段作为用户的唯一标识符

尽管现在考虑到您正在为用户使用用户名,但用户名需要是唯一的,因此您也可以使用用户名而不是子用户名

如果用户池配置为使用电子邮件作为用户名-在这种情况下,电子邮件需要对所有用户都是唯一的,这意味着不能有任何重复的电子邮件id

如果将电话号码配置为用作用户名,则电话号码也是如此


因此,最终您可以选择在密钥或用户名中使用sub作为唯一标识符。

我认为我不会使用电子邮件地址作为密钥

如果用户决定在将来更改电子邮件地址,或者由于某种原因电子邮件地址变得过时,这会对系统产生怎样的影响

我认为潜艇是一个不错的选择,可以用作钥匙。然而,每当我想到主键时,我总是想到一百万年后的未来


最终,我会选择一个在整个组织中永远独一无二的密钥,以消除未来任何冲突的可能性,或者在您的情况下,消除保密问题

这回答了你的问题吗?