2016-12-20 17 views
2

私はFalcon CORSを使用して、いくつかのドメインからの私のWebサービスへのアクセスを許可しています。しかし、正常に動作しません。私に説明させてください。Falcon CORSミドルウェアが正しく動作しません

は私の実現を見てみましょう:私は私のAPIサービスへのPOSTリクエストを作るとき

ALLOWED_ORIGINS = ['*'] 
crossdomain_origin = CORS(allow_origins_list=[ALLOWED_ORIGINS], log_level='DEBUG') 

app = falcon.API(middleware=[RequireJSON(), JSONTranslator(), cors.middleware]) 

だから、私は警告をログに記録します: Aborting response due to origin not allowedを。しかし、私は私のAPIから正しい応答を得る。ここで

は、このモジュールに関する公式ドキュメントです:https://github.com/lwcolton/falcon-cors

答えて

1

あなたのコードでは、ハヤブサのCORSのドキュメントの例と一致していません:

import falcon 
from falcon_cors import CORS  
cors = CORS(allow_origins_list=['http://test.com:8080'])  
api = falcon.API(middleware=[cors.middleware]) 
#       ^^^^^^^^^^^^^^^ 

cors.middleware変数は、API呼び出しに渡されます。あなたのコードでは、crossdomain_originを作成していますが、API設定に渡しません。

これで解決しない場合は、Falconのリソースクラスを含め、テストと再現が容易な実用的なコード例を提供してください。

編集:以下のコメントから

が、それは問題はoriginヘッダが要求から省略されていたかもしれむしろ、正常に動作しているハヤブサのCORSのように聞こえます。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

原点ヘッダは、クロスサイトアクセス要求またはプリフライト要求の起源を示します。

+0

申し訳ありませんが、それは私のせいです、私は、CORSとしてのみコード例のようにthatsの間違いをcrossdomain_originのインポートを行いますが、私のプロジェクトに –

+0

OK問題を再現する最小限の例を投稿してくださいではない、のための他の方法はありませんもっと助ける他の人たち。 –

+0

https://codeshare.io/ad1BMG –

関連する問題