您能否在用户池之间迁移 AWS Cognito 用户?

Can you migrate AWS Cognito users between user pools?

我正在使用 AWS Cognito。我有一个很常见的场景:用户可以注册为不同的角色。根据角色需要不同的用户属性,所以我需要使用不同的用户池。

现在用户想要从角色 A 升级到角色 B - 因此我必须将他的帐户从一个池移到另一个池。这在 AWS 上可行吗? 中的响应似乎相反。

如果这种方式不可行,什么是可行的解决方案来实现需要不同的用户属性,具体取决于 AWS Cognito 的不同用户角色。 (注意:仅在前端要求/验证它们不是可行的解决方案)

我知道这个问题有点过时了,但解决这种情况的最佳方法可能是使用组而不是为每个角色使用单独的用户池。参见 here

如果您到达此 link 以了解如何将用户转移到新的池(例如,您需要创建一个新的用户池以更改用户的登录方式),然后不是执行此操作的内置方法。但是,您可以构建一些解决方案来迁移用户,参考文献 here:

  1. 创建您的新用户池。
  2. 修改您的客户端以执行以下操作:

    • 使用新用户池登录失败,尝试使用旧用户池登录。
    • 如果现有用户池登录成功,请使用提交给现有登录的用户名和密码在新用户池中创建用户。
    • 可能会采取一些措施将用户从旧用户池中删除或标记为已迁移。

您可以使用 CSV 文件导出用户并将其导入新的用户池,但您的用户将不得不更改密码。