【发布时间】:2018-07-05 21:18:49
【问题描述】:
现在,关于 AWS 的所有信息都让我头疼不已。 :) 所以我需要你的帮助。
我在 AWS 上有以下架构:API Gateway、Lambda、Cognito。我正在使用无服务器框架来配置所有内容。 在 Lambda 上部署了几个函数。假设 API 和函数如下:
GET /user
GET /vehicle
POST /vehicle
我有两种类型的用户 A 和 B。A 是管理员,应该可以访问所有内容,但 B 仅限于某些路径,例如
GET /user >>> only A
GET /vehicle >>> B
POST /vehicle >>> only A
如何使用 Cognito、API Gateway 和 Lambda 实现这一目标。
到目前为止我发现的信息/想法是:
- 可以使用不同的 IAM 角色(例如“普通用户”和“管理员”)
- 可以使用自定义授权者 (source)
- 在这里我只能找到使用 Auth0.. 但我想使用 Cognito 的示例
- 在 Cognito 池上使用 Pre-Token 触发器来更新令牌中的声明 (source)
最好的方法是什么?还是有更好的解决方案? 不过,一个很好的例子会很好。到目前为止,我只找到了大约 50 行代码的示例,这不适合我的情况。所以实际上我的问题可能是我不知道如何以及从哪里开始..
【问题讨论】:
标签: amazon-web-services lambda aws-api-gateway amazon-cognito serverless-framework