Zan*_*rin 5 amazon-cognito aws-lambda
我目前正在使用 CognitoTrigger“用户迁移”构建从 AWS 用户池到另一个用户池的迁移解决方案。
我有一个要在迁移过程中设置的组,但我不能这样做,因为在整个上下文完成之前没有创建用户。
我该如何解决这个问题?我不想创建 PostAuth - lambda,因为我只需要/想要/可以在每次迁移时运行一次,而且我还想在迁移发生的瞬间(或最多几分钟后)执行此操作。(或者是否可以进行此 PostAuth 检查,如果它是第一次触发?)
我尝试了 PostConfirm 以希望在创建用户时触发,但没有触发。
如果其他人遇到了这个问题 - 我使用用户迁移触发器和预令牌生成触发器的组合解决了这个问题。
在用户迁移触发器(主要从https://github.com/Collaborne/migrate-cognito-user-pool-lambda复制)中,如果身份验证失败/新池中不存在用户,请查找并创建用户。
在 Pre Token Generation 触发器中,如果用户尚未添加到组中,但在旧用户池 ( adminListGroupsForUser) 中查找组成员身份,则将它们添加到新池 ( adminAddUserToGroup)。关键部分是覆盖响应中的组成员身份声明,以便将它们添加到客户端的令牌中(groupsToOverride只是使用所属组名称的数组):
event.response = {
"claimsOverrideDetails": {
"claimsToAddOrOverride": {
},
"groupOverrideDetails": {
"groupsToOverride": groupsToOverride,
}
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |