问题描述
我有一个 AWS API 网关,它有许多端点,所有端点都通过基于 Cognito 的授权方进行授权。所以 Cognito 正在为我生成所有 JWT 令牌,我正在使用这个 Cognito 授权器来验证我的端点。
我需要一种方法,让 Lambda 充当每个请求(至少是用户登录后调用的所有请求)的拦截器,以在进一步处理 Lambda 之前允许/拒绝请求代理到(调用到)API 网关。
我尝试了 Cognito 提供的触发器,但对我不起作用。
解决方法
您可以在 API 网关前面有一个 CloudFront 分配,并将 CloudFront 分配与 Lambda@Edge 函数相关联。 CloudFront 在 CloudFront 边缘站点拦截请求和响应。