Man*_*uru 13 amazon-web-services aws-api-gateway aws-cognito
我正在尝试使用带有cognito用户池的aws api网关授权程序.当我使用aws api网关控制台进行测试时,它工作正常.
但是,当我尝试在api中启用授权时,"message": "Unauthorized".请检查下面的屏幕截图
请有人帮忙吗.
仅供参考我遵循这里提到的说明http://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html
C.L*_*Lee 12
以下步骤为我解决了问题。简而言之,AWS API Gateway 中似乎存在错误。您可以通过重新部署 API 来修复它:
Lon*_*yen 10
就我而言,授权代码应为id_token。我access_token改用了一个错误
我尝试了 Mathias 的解决方案,但一开始没有用。奇怪的是,我可以在几个小时后返回并再次尝试,这次在部署 API 之前对我的 API 网关进行了一些其他更改。这次它奏效了,尽管我所做的其他更改是肤浅的。
此外,通常情况下,AWS 文档是错误的,指出您应该使用method.response.header.Authorization. 这实际上仅对使用自定义身份验证的 Lambda 有效。Authorization当您使用新的 Cognito 用户池授权器时,您确实应该在这里使用。
Authorization不使用method.response.header.Authorization- 编辑 -
我只是将我的堆栈转换为 Cloudformation 并发现如果您使用 Cloudformation 来部署授权器,您实际上需要method.response.header.Authorization为令牌源指定完整的。事实上,如果您不使用该格式,堆栈部署将失败。但是,一旦部署,如果您查看控制台中的 Authorizer,它就会删除该method.response.header部分。
我遇到了和你一样的问题,并意识到我输入了错误的令牌源。
输入<your API> -> Authorizers -> Token SourceAPI 网关必须在其中查找令牌的 HTTP 标头的名称。(就你而言Authorization)
保存它,并且在测试之前不要忘记部署。
| 归档时间: |
|
| 查看次数: |
6257 次 |
| 最近记录: |