Eri*_*man 2 javascript amazon-web-services reactjs vue.js amazon-cognito
所以我在 AWS Cognito 上进行了以下设置:
AWS Cognito 用户池:UserPool_1
在此用户池下,我定义了 3 个用户:Mike、Sarah、John
我在此用户池下有 3 个应用程序客户端:
网络客户端_1
网络客户端_2
网络客户端_3
我希望Mike能够访问:WebClient_1、WebClient_2和WebClient_3
我希望Sarah只能访问:WebClient_3
John只能访问WebClient_2
目前所有用户都可以访问此用户池下定义的所有 3 个 Web 应用程序,这不是我想要的。
如何限制用户池中的用户访问特定应用程序客户端?
假设Sarah尝试访问WebClient_1,我希望她收到一条消息:“用户未授权”
我该如何实现这一目标?
我解决这个问题的方法是使用Cognito Pre Authentication Lambda。当用户请求身份验证时,Cognito 触发器会运行自定义 Lambda 脚本。在您的 Lambda 脚本中,您将收到一个带有一些常用参数的事件。您可以获取参数callerContext.clientId并userName进行一些处理。对于少数用户,您可以仅将用户-客户端映射保留在脚本中,但更有可能您希望在 DynamoDB 等数据库中查找映射。
编辑:接受您所做的身份验证callback(null, event);并拒绝您所做的身份验证callback("you are not coming in", null);
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |