amazon-web-services - 具有授权的 AWS Cognito 用户(如何从应用程序将用户添加到用户组?)
问题描述
我正在构建一个应用程序,前端有 react,后端有 aws dynamodb + labmda 来保存数据。我正在使用放大来处理用户身份验证,但我正在努力寻找一种处理授权的好方法。
我想使用 Cognito 用户池组,但似乎没有办法从我的应用程序管理用户,因为 amplify 不支持更新用户以将它们放入组中。我真的不想将aws控制台登录暴露给应用程序管理员,所以我似乎需要在应用程序本身中找到一种方法来处理这个问题。
我可以在 dynamodb 本身中创建一个用户表来保存一个用户配置文件,该配置文件可以有一个字段来保存我希望用户能够执行的角色,然后为管理员用户添加一个 CRUD 页面以更新非管理员用户。但是,我并不特别喜欢这个选项,因为它实际上是数据的重复,而且它也不支持(轻松)禁用用户的方法。
看起来 dynamodb 表更新可以触发 lambda 函数,所以我还考虑以某种方式这样做以在 CRUD 页面上的管理员用户更新表时触发用户的 cognito userpool 角色添加但我有连接触发器上的所有点,功能和所需的权限有点麻烦。
任何帮助将不胜感激。
谢谢。
解决方案
谢谢迪伦,这正是我所做的。我曾错误地认为,我的用户无法做到这一点,但在尝试此操作并跟踪失败后,我能够确定如何将正确的策略应用于执行 addToGroup 和 removeFromGroup 的角色。
再次感谢,迈克
推荐阅读
- spring-boot - 如何在不停机的情况下重新部署springboot应用程序
- javascript - Chrome 不断将我的 mvc 视图自动滚动到顶部
- postgresql - ANY/ALL (array) 不支持设置参数
- sql - Spring数据@Query原生请求
- javascript - 对象数组的 Javascript 范围
- java - Gradle - 了解依赖的来源
- google-sheets - ArrayFormula 单元格部分替换数组
- laravel - 如何解决未知自定义元素问题?
- install4j - install4j 安装期间临时可执行文件的位置
- java - 被 android 中的 Calendar 类 set() 方法弄糊涂了