あなたのAPI Gatewayの設定を見なければ、私は確かに言うことはできませんが、これらの二つの箇条書きには可能性を示唆しています。 はのように聞こえますが、の方法(POST
または公開しようとしているものに加えて)にカスタムオーソライザを接続することができます。これは当てはまりません。例えば
あなたがAPIゲートウェイリソースのOPTIONS
方法にカスタム(トークン型)承認者を添付して、AuthorizationヘッダーなしOPTIONS
呼び出しを行う場合、あなたは401
を取得します。
カスタムオーソライザは、明示的に公開しているメソッドにのみアタッチする必要があります。多くの場合、これはちょうどPOST
ですが、PUT
,DELETE
などのようなものを含めることができます。
これは役に立たない場合は、APIゲートウェイの設定で質問を更新し、失敗したOPTIONS
呼び出しのリクエスト/応答ヘッダーを更新することがあります。
UPDATE
私がザッパを使用したHelloWorldフラスコアプリを展開し、そして私はあなたの問題を再現することができたと思います。カスタムオーソライザにリンクした青写真を使用しています。変更したのはpolicy.denyAllMethods()
からpolicy.allowAllMethods()
だけでした。
私が展開するときに、このようなものが作成されます。
私はAuthorization
ヘッダーが含まれていませんでした401
OPTIONS
からの呼び出しを取得することができました。
私はずっとCORSフレンドリーなものを作成した、私のzappa_settings
に"cors": true
を追加しました:
この構成は良く見えます。 401
からOPTIONS
までは、Authorization
ヘッダーが存在するかどうかに関係なく使用できません。
私のこのような"cors": true
追加ルックスとzappa_settings
:
{
"dev": {
"app_function": "hello.app",
"aws_region": "us-east-1",
"profile_name": null,
"project_name": "flask",
"runtime": "python3.6",
"s3_bucket": "zappa-xxxxxxxxx",
"cors": true
},
"authorizer": {
"arn": "arn:aws:lambda:us-east-1:xxxxxxxxxxx:function:flask-authorizer",
"result_ttl": 0
}
}
あなたのコードで問題を再現する方法、ありますか? – georgexsh
簡単なgit repoを提供してください。問題をデバッグすることができます –
[私の答えは下記](https://stackoverflow.com/a/47122179/1252647)を試しましたか?私はあなたと同じ問題を抱えていた。 – dashmug