【问题标题】:How do I migrate users from RDS mysql databse to aws cognito user pools?如何将用户从 RDS mysql 数据库迁移到 aws cognito 用户池?
【发布时间】:2020-12-20 20:55:44
【问题描述】:
我有一个 ios 应用程序,当一个人登录时,uath 是通过 cognito 发生的(它已经到位),此外,由于我所有的用户数据都在 rds mysql 中,我还希望它检查用户是否是电子邮件id 是否存在于 rds mysql db 中。为此,我想创建一个用户迁移 lambda 触发器。请让我知道我的架构是否有意义?
【问题讨论】:
标签:
ios
amazon-web-services
amazon-cognito
amazon-rds
aws-userpools
【解决方案1】:
一个问题有多个问题,但我还是会回答:
您如何迁移用户?
您可以创建一个单执行任务来将您的用户从 MySQL 数据库迁移到 Cognito,唯一也是最大的问题......可能是密码信息,我假设您没有纯文本格式的信息。
您可以向所有用户发送一封关于更新密码的电子邮件,并为他们提供一个唯一链接。
另一个选项是为用户保留该数据库和表,当新用户登录时,只需使用提供的密码创建/添加用户到 cognito。
我假设你现在可能有这个流程:
- 用户使用用户名/密码登录
- 服务器验证密码和用户在 MySQL 上(密码不应该是纯文本)并返回用户信息。
所以,你可以把它改成:
- 用户使用用户名/密码登录
- 服务器在 cognito 上进行身份验证,如果失败:
- 服务器验证密码和用户在 MySQL 上
- 服务器在 cognito 上添加用户
- 返回用户信息
然后...... 3 个月?或者别的什么,你可以直接删除数据库,因为你已经在 cognito 中拥有了大多数用户。
回答关于架构的问题:
我没有足够的上下文,但看起来很复杂,你为什么要更改为 cognito,你想使用任何偏好或功能?