使用API​​网关的Cognito用户池

时间:2017-03-03 00:17:13

标签: aws-api-gateway aws-cognito

我不明白为什么我的用户池不会在我的API中验证方法。

我已经开始使用简单的petstore示例,并为我的用户池添加了一个Authorizer。测试按钮显示我的JWT正在工作。我将Authorizer应用于/pets上的POST方法,并将Authorization添加为请求标头。

使用邮递员(或卷曲)向/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网关端点。

1 个答案:

答案 0 :(得分:2)

对我来说,使用Postman在Authorization的标题中没有“Bearer”。