【问题标题】:Missing Authentication Token while accessing API Gateway when tested in chrome but working in postman在 chrome 中测试但在邮递员中工作时访问 API 网关时缺少身份验证令牌
【发布时间】:2020-03-23 01:06:04
【问题描述】:

我创建了一个 AWS Lambda 函数,该函数调用我在 sagemaker 中创建的 ML 模型的端点。我测试了它,它工作正常。接下来我创建了调用这个 lambda 函数的 REST API。我将任何身份验证类型设置为 NONE。任何知道该 URL 的人都可以访问它。我在this aws 博客之后创建了它。我在邮递员中测试了我的网址。它在邮递员中工作正常,但是当我在 chrome 中输入 url 时,它会抛出 {"message":"Missing Authentication Token"} 错误。有人可以告诉我在 chrome 中测试我的网址时如何摆脱该错误

【问题讨论】:

  • 请发布您的 POSTMAN 请求,您是否在请求中附加令牌?
  • 它与令牌完全无关。

标签: amazon-web-services aws-lambda aws-api-gateway amazon-sagemaker


【解决方案1】:

该错误具有误导性。它与令牌完全无关。 实际上发生的事情是您尝试访问的 URL 无效。

API Gateway 的 URL 如下所示:https://xxxxxxx.execute-api.some-region.amazonaws.com/your-stage,但很可能您在 API Gateway 上创建了一个端点,然后可以通过 https://xxxxxxx.execute-api.some-region.amazonaws.com/your-stage/YOUR_ENDPOINT 访问该端点

如果您点击基本 URL 或不存在的路径,您将收到奇怪的、误导性的 Missing Authentication Token 消息。

所以,长话短说,为您的 API 找到一条有效路径,它应该可以正常工作。

提示:也许您正在通过 Postman 发出 POST 请求,但每当您尝试使用浏览器时,它都会发出 GET 请求,这也会导致路径无效,从而导致 Missing Authentication Token 消息。

【讨论】:

  • 我正在对 Postman 发出 POST 请求。如何让我的浏览器发出相同的 POST 请求?我的 API 网关也看起来像 xxxxxxx.execute-api.some-region.amazonaws.com/your-stage/…
  • 你没有。至少不是来自地址栏。您必须创建一些前端代码来实际发出带有 JSON 内容的 POST 请求。例如:alligator.io/react/axios-react 但是,鉴于您不了解 HTTP 协议的基础知识以及 GET/POST 请求之间的不同之处,我认为您是本末倒置。我建议您先完成这些步骤。
猜你喜欢
  • 2017-01-31
  • 2019-03-25
  • 1970-01-01
  • 2018-03-08
  • 2019-05-21
  • 2018-05-02
  • 1970-01-01
  • 2018-02-14
  • 2021-08-25
相关资源
最近更新 更多