【问题标题】:Migrating users from cognito userpool to identity pool将用户从 cognito 用户池迁移到身份池
【发布时间】:2018-07-17 03:54:30
【问题描述】:

AWS 开发工具包 (JavaScript)

我将所有用户从 MSSQL 数据库移植到 AWS Cognito 用户池。 现在我需要在我的身份池中拥有我的每个 Cognito 用户。 这需要发生,以便我可以将我的用户数据移动到 Cognito Sync 的数据集中。

问题: 我无法将我的用户池中的每个 cognito 用户移动到我的身份池中。 我已经搜索了文档,但似乎无法找到解决方法。

我无法让每个用户都登录,因为每个用户都需要重置自己的密码。 (这是由于从 .csv 文件移植用户时的情况所致)

已解决

  • 我批量循环访问用户。
  • 每个用户都转换为用户池中的 Cognito 用户
  • 成功添加 Cognito 用户后,我会手动登录该用户,
  • 然后我必须用临时密码设置用户密码
  • 接下来我得到了成功的方法,叫做
  • 在成功方法中,我现在在身份池中有用户,因为我手动登录了用户
  • 现在我得到了用户的身份 ID
  • 现在我可以设置数据集了
  • NEXT 重要我必须将用户设置回“RESET REQUIRED”
  • 然后循环继续,我处理批处理中的下一个用户

注意确保您没有在用户池中的 MFA 部分检查任何内容,否则将发送电子邮件。此外,在特殊情况下仍会发送电子邮件。为了解决这个问题,我执行了这个任务

  • 将用户电子邮件更改为 fake@fake.com
  • 所有邮件均发送至 fake@fake.com
  • 当您处理完用户并且一切正常后,将用户电子邮件改回正确的电子邮件。

【问题讨论】:

    标签: javascript amazon-web-services amazon-cognito


    【解决方案1】:

    首先,身份池没有用户——只有身份。如果是经过身份验证的身份,每个身份都对应一个用户(用户池用户或 Google/FB 用户),并具有一个 IdentityId(对于所有身份 - 已验证和未验证)。这是在使用来自适当 IdP(在您的情况下为 Userpool)的 IdToken 进行 GetId API 调用时生成的。

    另外,我不明白为什么需要为用户池中的所有用户生成身份。这些身份应该是即时生成的。设计和部署您的应用,当用户第一次使用您的应用时,您的应用将调用 GetId,从而生成一个 IdentityId。

    【讨论】:

    • 我有需要移植的用户数据。用户数据将添加到 CognitoSync 中的身份的 dataSet。因此,我必须将用户添加到身份。
    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 2018-02-11
    • 1970-01-01
    • 2017-02-28
    • 2016-09-26
    • 2016-10-23
    • 2021-06-08
    • 2016-11-10
    相关资源
    最近更新 更多