amazon-web-services - AWS Cognito 是否消除了我的数据库中对“用户”表的需求?
问题描述
使用 AWS Cognito 进行身份验证是否意味着我的数据库中不再需要传统的“用户”表?
目前,我继承的应用程序具有我使用 sql 查询引用的传统“用户”表,用于查找与组织、留言板等表的多对多和多对一连接。
我是查询 Cognito 用户组(感觉不对)还是有一些“同步”方法可以在我的数据库中更新“用户”表。
阅读文档和观看一些教程很棒,但没有人能做的不仅仅是验证。授权在哪里,获取用户名,包含连接查询的电子邮件。
温柔一点,试着和房间里的新宝宝一起工作和学习
解决方案
我的经验是它并没有淘汰对用户表的需求,原因有几个。
- 在使用 Cognito 作为主要用户数据存储时调用 Cognito getUser/listUser 方法时,我经常会遇到 AWS 限制错误。AWS 支持会增加我们账户的 API 限制,但我一直担心它们会再次出现。
- 您基本上仅限于通过用户名/电子邮件/电话查询用户。listUser 方法对于搜索非常有限
- 如果您想存储其他用户数据,则必须将它们放入自定义 Cognito 属性中并快速管理那些令人厌烦的
我最终的设计是在 Cognito 用户池上设置一个确认后触发器,并在用户注册时让它将所有用户数据复制到关系数据库或 DynamoDB 中。users 表的主键是 Cognito 用户名,因此如有必要,我可以在数据库和 Cognito 中查找用户。基本上我只是使用 Cognito 进行身份验证,而不是作为主要用户数据库
推荐阅读
- wordpress - 无法在 wordpress 5.8.1 中访问 woocommerce rest api
- reporting-services - SSRS 日历日期/时间参数问题
- matrix - 在 C++ 示例代码中将矩阵左侧旋转 90 度
- javascript - 如何从获取 POST 响应中获取特定的嵌套值?
- android - 反应原生应用程序未安装在android虚拟设备上
- javascript - 如何根据复选框显示表格行
- python - 散点图中的超链接点 - matplotlib
- regex - 条件格式:间接引用的多个条件
- java - 如何跟踪屏幕上的触摸
- sass - 全局 scss 变量未按预期运行