具有 API 网关的 Cognito 用户池
Cognito User Pools with API Gateway
我不明白为什么我的用户池不会在我的 API 中验证方法。
我从简单的宠物店示例开始,并为我的用户池添加了一个 Authorizer。测试按钮显示我拥有的 JWT 正在运行。我将该 Authorizer 应用于 /pets
上的 POST 方法,添加了 Authorization 作为请求 header。
当使用 postman(或 curl)POST 到 /pets
时,传递 Authorization: Bearer <token>
header 我总是得到响应 {"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/*"
}
]
}
在模拟器中运行良好。不过,我不是 100% 确定该政策是否应该发挥作用。我不清楚所提供的用户池身份验证器将如何获取策略,它不在我看到的任何文档中。我刚开始往墙上扔飞镖。
只想知道有人用用户池保护了 API 网关端点。
对我来说,在授权的 header 中没有 "Bearer" 使用 Postman。
我不明白为什么我的用户池不会在我的 API 中验证方法。
我从简单的宠物店示例开始,并为我的用户池添加了一个 Authorizer。测试按钮显示我拥有的 JWT 正在运行。我将该 Authorizer 应用于 /pets
上的 POST 方法,添加了 Authorization 作为请求 header。
当使用 postman(或 curl)POST 到 /pets
时,传递 Authorization: Bearer <token>
header 我总是得到响应 {"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/*"
}
]
}
在模拟器中运行良好。不过,我不是 100% 确定该政策是否应该发挥作用。我不清楚所提供的用户池身份验证器将如何获取策略,它不在我看到的任何文档中。我刚开始往墙上扔飞镖。
只想知道有人用用户池保护了 API 网关端点。
对我来说,在授权的 header 中没有 "Bearer" 使用 Postman。