AWS API-Gateway Cognito Authorizer未使用有效令牌

问题描述 投票:-1回答:1

使用具有有效令牌的Authorizer Test按钮(或使用postman / Insomnia)时,带有Cognito用户池授权程序的简单API端点失败(屏幕截图如下):

enter image description here

我知道令牌是有效的,因为我可以使用相同的令牌成功调用Cognito用户池user-info端点并获得所需的响应。同时删除授权程序(将其设置为None)也将返回所需的响应。我已经尝试过有和没有Bearer ...,我也尝试将Authorization令牌源更改为method.request.header.Authorization,因为我在some older Question中找到但是在保存后立即将其更改回Authorization,而method.response.header.Authorization似乎不起作用无论是。 API是通过CloudFormation堆栈部署的。

amazon-web-services aws-lambda authorization aws-api-gateway amazon-cognito
1个回答
1
投票

我正在编写一个完整的指南来解决这个问题,因为缺少文档,要为这么简单的任务找到正确的信息并不容易。但可能需要几天时间,所以在那之前我会在这里发一个简短的答案,一次(希望)我完成指南我会更新这个答案:

我的问题是我使用的是access_token,但我不得不使用identity_token!另一个问题是没有任何OAuth2工具可用(如Postman和Insomnia的Auth模块)返回或使用identity_token,它们甚至不显示令牌!虽然它是在OAuth2规范中,没有人使用它(除了Cognito!),...

所以我对OAuth2模块的Insomnia源代码进行了一些更改并使用了正确的令牌,然后它就开始工作了!

我要为失眠做一个公关,如果它经历了这个功能可能会在下一个版本中出现,否则,我将使我的打包二进制可用,所以窥视可以使用它,否则,从AWS获取令牌是一个噩梦!

© www.soinside.com 2019 - 2024. All rights reserved.