使用API网关的Cognito用户池
我不明白为什么我的用户池不会在我的API中验证方法。使用API网关的Cognito用户池
我已经开始使用简单的petstore示例,并为我的用户池添加了一个Authorizer。测试按钮显示我所拥有的JWT正在工作。我将该授权人应用于/pets
的POST方法,将授权添加为请求标头。
当POST到/pets
与邮差(或卷曲),传递Authorization: Bearer <token>
头我总是得到{"message":"Unauthorized"}
我与创建链接到用户池的标识池周围乱七八糟的响应,经过身份验证的角色有一个允许访问API网关的策略。我在用户池中创建了一个组来分配这个组。
有一些我想念的东西。我希望允许任何通过Cognito提供有效ID JWT的用户访问POST方法。
政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": "arn:aws:execute-api:us-east-1:*:XXX/*/POST/*"
}
]
}
其中在模拟器工作正常。我并不十分确定这项政策应该发挥作用。我并不清楚提供的用户池身份验证器如何获取该策略,但它并未出现在我看到的任何文档中。我刚开始在墙上扔飞镖。
只希望听到任何人已经用Userpool保护了API网关端点。
对于我来说,使用Postman在授权标题中没有“承载者”。
不能投票表决足够。卷曲也是如此,所以这不是邮差的错。“承载者”被记录为必需的。但是我的经验表明,Authorization:标题应该只是Id JWT –
您可以发布允许访问API网关的政策吗?请注意,该操作需要“执行api:调用”而不是“apigateway:*”(这是API管理API) –