【问题标题】:AWS API Gateway {"error": "missing authentication token"}AWS API Gateway {“错误”:“缺少身份验证令牌”}
【发布时间】:2019-10-12 15:25:30
【问题描述】:

当我通过浏览器单击 AWS API 网关 POST 方法 url 时,我经常收到“缺少身份验证令牌”错误。我将“AUTH”设置为无,并且通过 Postman 可以正常工作,但不能通过浏览器正常工作。问题是我正在使用 swift 触发该方法,但它似乎根本没有到达网关(没有登录 CloudWatch),我认为我的代码没有错(或者可能是错的)。如果有人能指出我的错误是什么或这个问题的解决方案,我将非常感激。

附:我的 lambda 函数工作得很好,我输入了正确的 URL(代码中的一个只是示例)

这是我的代码:

func postNonceToServer(paymentMethodNonce: String) {

    let paymentURL = URL(string: "https://example-url.us-east-1.amazonaws.com/prod/create-transaction")!
    var request = URLRequest(url: paymentURL)
    request.httpBody = "\(paymentMethodNonce)".data(using: String.Encoding.utf8)
    request.httpMethod = "POST"
}

【问题讨论】:

  • 请勿发布代码图片。请edit您的问题,将您的相关代码作为格式正确的文本复制并粘贴到您的问题中。图片难以阅读,无法搜索,也无法在答案中引用。
  • @rmaddy 感谢您的反馈,我更新了代码!
  • 您确定在 api 网关中有此查询的方法和资源吗?只需检查一下。
  • @DmitryGrinko 是的,我已经设置了方法和资源。即使测试也有效,但只是浏览器并没有给我想要的东西
  • 你还记得重新部署 API 吗?只需检查一下。

标签: ios swift amazon-web-services lambda aws-lambda


【解决方案1】:

在我看来,这应该是 URL 本身的问题。我能想到:

1- 请通过将 URL 打印到控制台并将其粘贴到浏览器 URL 栏中来确保正确解析 URL。 (我不知道 swift)

2- 确保“execute-api”包含在您的“example-url”中,即在区域之前。

3- 确保 OPTIONS 方法的 AUTH 为 none。

祝你好运!

【讨论】:

  • 感谢您的回复!我意识到我不必让它在浏览器上运行,因为它现在可以在 swift 上运行
【解决方案2】:

这主要是因为 CORS 问题。

请在您的 API 网关中启用 CORS,如下所示。启用 CORS 后请重新部署 API

如果您没有添加 OPTIONS,请按照以下步骤操作(如果 OPTIONS 已经存在,只需添加 CORS),

  • 在 /services 资源下创建一个新的 OPTIONS 方法
  • 在 OPTIONS 方法中创建并填充 Access-Control-Allow-Origin/Method/Headers。

在创建 OPTIONS 后启用如下所示的 CORS

【讨论】:

  • 其实看起来不像是CORS问题
  • 我尝试了您提到的所有方法,但仍然出现错误。还有其他方法可以在浏览器上进行这项工作吗?
  • 您尝试过所有不同的浏览器吗?您也可以在通过浏览器请求时打开开发者工具控制台,看看控制台中是否有任何特定的错误写入。
【解决方案3】:

在我的端点上启用 CORS 后,我收到了相同的错误消息:

{"message":"Missing Authentication Token"}

所有内容都已检查,但我一直收到该错误。为了解决我的问题,我必须部署 API。为此,请执行以下操作:

  1. 转到“Amazon API Gateway”控制台
  2. 点击有问题的 API 网关
  3. 点击“资源”并选择根资源,例如“/”
  4. 点击“操作”,然后点击“部署 API”
  5. 选择要部署到的阶段
  6. 点击“部署”

长话短说,启用 CORS 后重新部署 API。

【讨论】:

    猜你喜欢
    • 2021-08-28
    • 2020-09-18
    • 2018-09-27
    • 2020-07-18
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 2019-03-25
    • 2016-09-04
    相关资源
    最近更新 更多