簡體   English   中英

收到錯誤:AWS API 請求后缺少身份驗證令牌

[英]Getting error: Missing Authentication Token after AWS API request

我正在嘗試通過 AWS API 網關調用 Lambda 函數。

當我嘗試 IAM 身份驗證、API 密鑰身份驗證以及沒有身份驗證時,我一直收到此錯誤。 在此處輸入圖像描述

{"message":"Missing Authentication Token"}

由於端點不存在,有些人遇到了同樣的問題。 但是,我直接從 Lambda Function AWS 控制台獲取了我的端點。 在此處輸入圖像描述

我一直在嘗試在瀏覽器和 Postman 中打開 URL(有和沒有標頭身份驗證:x-api-key:******************)。 在此處輸入圖像描述

兩者都以上述錯誤回應。

更進一步:在 Postman 中,您需要將Authorization設置為AWS Signature ,然后輸入您的 IAM 用戶的AccessKeySecretKey

郵遞員截圖郵遞員截圖

我會在這里為所有觀眾寫一份詳細的常見問題解答。 按最常見原因排序。

  1. 不正確的資源路徑和/或 HTTP 方法。
    • 如果您有正確的資源路徑和錯誤的 HTTP 方法,您仍然會看到此消息
    • 您可以使用 Postman 或其他一些客戶端來簽署對同一資源/方法的請求,如果您收到 404,那么您肯定有錯誤的資源/方法
  2. 受保護資源/方法缺少簽名。 默認情況下,您的 API 將處於打開狀態。 如果您已明確要求 AWS Auth,則該錯誤表明請求未簽名。
  3. 如果您使用 Lambda 控制台創建“API 端點”,則可能是 Lambda 端的問題,或者是新 API 傳播的延遲。 在這種情況下,轉到 API 網關控制台,您應該會看到 Lambda 為您創建的相同 API。 確保它已部署並且您擁有正確的階段、資源路徑和方法

只是想提一下,如果您將 API 網關的身份驗證設置為NONE ,請確保在無身份驗證設置生效之前需要先Deploy API

您必須從 API 的操作中啟用 CORS。 這將創建一個新的 OPTIONS 方法。 CORS 用於跨域請求

您需要將 Api Key Required 設置為 true。 在此處查看更多信息:http: //docs.aws.amazon.com/apigateway/latest/developerguide/how-to-api-keys.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM