LoginSignup
3
0

More than 1 year has passed since last update.

AWS SAM API、Preflightリクエストエラーに対応しよう!( Python )

Last updated at Posted at 2022-05-18

Prefilghtリクエストとは?

Preflightはサイバー攻撃への対策として登場した技術らしいです。
ブラウザ側で本当のリクエストを投げる前に送られるリクエストです。
PreflightのHTTPメソッドは常にOPTIONSです。
(たとえばPOSTをしてもPreflightリクエストはOPTIONSとなります。)

解決方法

OPTIONSのメソッドに返すレスポンスを作成します。
bodyは空でいいです。ヘッダーはちゃんと書きましょう。
image.png

Preflightリクエストにはaccess-control-request-headersoriginが入っています。
ApiGatewayのtemplateのAllowHeadersに以下の赤い枠の中の内容を追記します。
(この手順を省略しても通る場合がありました。)
image.png

わかったこと

  • OPTIONSではApiキーの指定ができなさそうです。
  • Access-Control-Allow-OriginがないとPrefilghtが通らないです。
  • LambdaではなくてDjangoのAPIは、自動でOPTIONSメソッドに対応してくれました。DjangoのAPI、CORSエラーを解決」を参照
  • Credentialsの設定と関連して、Access-Control-Allow-Originを*にすると通らない場合があります。
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0