【问题标题】:Cognito Authorizer Test in console works, but Postman doesn't控制台中的 Cognito Authorizer Test 有效,但 Postman 无效
【发布时间】:2018-03-09 05:54:57
【问题描述】:

我已经使用 Cognito 用户池授权者设置了 API GW。 令牌来源是 method.request.header.Authorization。 我从浏览器测试应用程序中获取了一个 ID 令牌,该应用程序插入到 AWS 控制台中的授权方测试中,我得到了 HTTP 200。一切都很好。

现在,当我使用 Postman 访问相同的资源时,

授权:(ID令牌)和

Content-Type:应用程序/json 标头,

我收到带有以下标头的 HTTP 401 响应:

内容长度→26

内容类型→应用程序/json

日期 →2017 年 9 月 27 日星期三 02:30:39 GMT

状态→401

通过 →1.1 6eadd6c6c5a53c34c6fce458c34cd790.cloudfront.net (CloudFront)

x-amz-cf-id →0SE2SaWGwFLJvml_V-4ai3aBimAX8KKyjfWrrmHLugt9PaQVHRsI4Q==

x-amzn-errortype →UnauthorizedException

x-amzn-requestid →d9cfe16c-a32b-11e7-b1b9-1f4b319597f5

x-cache →来自云端的错误

我关注了这些steps(调用与用户池集成的 API),但我真的不知道我做错了什么......

【问题讨论】:

  • 什么 AWS 区域?
  • 地区为 US-east-1
  • 那是 cognito-request ID 吗?我没有在我们的日志中找到它
  • 不确定您指的是哪一个。这是我从 API 调用中获得的唯一信息。我可以私下提供更多信息,但不知道如何联系到您。
  • 您可以发布您的 UserPoolId 吗?

标签: aws-api-gateway amazon-cognito


【解决方案1】:

好的,经过几个小时的谷歌搜索和测试,我发现在我设置的 APIG 授权器中,指定的令牌来源是:

method.request.header.Authorization

而不是简单

授权

奇怪的是,如果授权人测试真正模仿了相应的 REST 调用,它也会失败。

【讨论】:

    【解决方案2】:

    根据我的经验,@Breiz 是对的。 我使用 Authorization 而不是 method.request.header.Authorization。 另外,在 Postman 中,我删除了单词 Bearer 以及令牌前的空格,它起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-01
      相关资源
      最近更新 更多