我有一个项目需要利用受保护的授权者Lambda
触发的API Gateway
函数,我将资源方法设置为要求使用{{1} }在Cognito的身份验证响应中给出。基本上,应用程序中所有受保护的路由都由token id
处理,它将始终检查所请求的路由是否受保护,如果没有会话,则在身份验证成功后,如果没有会话,则重定向到cognito的ALB
,负载平衡器将使用其他标头将请求重定向到应用程序,这些标头是:
两者都以sign-in
与身份验证中的用户声明相对应。通常,受cognito授权者保护的JWT
端点需要一个API Gateway
,该端点很容易在cognito的身份验证中使用token id
进行检索,但是implicit flow
使用的是ALB
流仅提供会话代码。来自authorization code
和x-amzn-oidc-data
的数据看起来相同,但是当我尝试使用来自token id
的数据访问端点时,我只会得到ALB
。
我知道我可以通过直接将unauthorized
函数实现为Lambda
作为触发器来避免所有这些过程,但是我的项目只是在寻找自动化部署,而ALB
仍然不支持{ CloudFormation
的{1}}实现。
TL:DR
一个简单的问题是:如何使用Lambda
的授权给出的令牌授予ELB
中的访问权限?