代码之家  ›  专栏  ›  技术社区  ›  Kat

无论是否登录,aws都有通用的cognitoid吗?

  •  1
  • Kat  · 技术社区  · 7 年前

    我一直在绕着aws cognito转,似乎找不到一个明确的答案。

    下面是我们的情况:我有一个react本机移动应用程序(使用 aws-amplify 它使用三种不同的身份提供者:

    1. AWS用户池
    2. 脸谱网
    3. 谷歌

    我知道用户池是一种跨平台管理、创建和同步用户的方法。在这些用户池中,每个用户都有分配给它们的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 . 我希望用户池登录的值与此类似。

    0 回复  |  直到 7 年前