web-dev-qa-db-ja.com

エラーの取得:AWS APIリクエスト後に認証トークンがありません

AWS API Gatewayを介してLambda関数を呼び出そうとしています。

IAM認証、APIキー認証、および認証なしを試みたときに、このエラーが発生しました。 enter image description here

{"message":"Missing Authentication Token"}

一部の人々は、存在しないエンドポイントのために同じ問題を抱えていました。ただし、Lambda Function AWSコンソールからエンドポイントを直接取得しました。 enter image description here

ブラウザとPostmanでURLを開こうとしました(ヘッダー認証あり:x-api-key:*****************)。 enter image description here

両方とも上記のエラーで応答しました。

16
Ondrej Tokar

もう1つのステップ:Postmanで、AuthorizationAWS Signatureに設定してから、AccessKeyおよびSecretKeyIAMユーザーから:

Postmanスクリーンショット Postman screenshot

13
John Haller

ここでは、すべての視聴者向けに詳細なFAQを作成します。最も一般的な原因で並べ替えます。

  1. 誤ったリソースパスやHTTPメソッド。
    • 正しいリソースパスと間違ったHTTPメソッドがある場合、このメッセージが表示されます。
    • Postmanまたは他のクライアントを使用して、同じリソース/メソッドへのリクエストに署名し、404を取得した場合は、間違ったリソース/メソッドが間違いなくあります.
  2. protected resource/methodに署名がありません。デフォルトでは、APIは開いています。 AWS Authを明示的に要求している場合、エラーはリクエストが署名されていないことを示します。
  3. Lambdaコンソールを使用して「APIエンドポイント」を作成している場合、Lambda側の問題、または新しいAPIの伝播の遅延が考えられます。この場合、API Gatewayコンソールに移動すると、Lambdaが作成したのと同じAPIが表示されるはずです。 デプロイされ、適切なステージ、リソースパス、およびメソッドがあることを確認してください
5
Jack Kohn - AWS