我一直在绕着aws cognito转,似乎找不到一个明确的答案。
下面是我们的情况:我有一个react本机移动应用程序(使用
aws-amplify
它使用三种不同的身份提供者:
-
AWS用户池
-
脸谱网
-
谷歌
我知道用户池是一种跨平台管理、创建和同步用户的方法。在这些用户池中,每个用户都有分配给它们的guid,称为
sub
,主题的缩写。
我还知道,如果我使用第三方(比如Facebook)登录,身份池将让第三方用户(或者用户池)临时访问AWS服务(比如Dynamo DB)。
我们有另一个以前信息的旧数据库,我们希望有一个匹配的进程来分配用户。因此,如果user1登录,它们与旧数据库中的user_one对应,我们希望将它们的数据链接起来并保存起来供以后参考。
我的问题是
,在所有3个方法都可以访问的标识池中,是否有一个通用的guid或id可以与每个用户关联,而不管登录类型如何,并记录在db中?如何使用react native获得它?
以下是我尝试过的:
Auth.signIn(username, password)
.then(user => {
// etc
用户返回
user_poolId
,
clientId
,并且没有标识池信息。
使用联邦(FB、Google)登录:
Auth.federatedSignIn('facebook', {
token: data.accessToken.toString(),
expires_at: data.expirationTime,
}, result)
.then(data => {
let user = {
id: data._identityId,
};
这给了我
_identityId
. 我希望用户池登录的值与此类似。