問題タブ [flask-cors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
952 参照

extjs - 基本認証に関する問題

明確にするために編集:

python/Flask REST-API を使用して、ExtJS アプリに (基本認証を使用して) 安全なエンドポイントを提供します。CORS が有効になっています。Safari でのすべてのテストで、すべてが見事に機能していました。他のブラウザ (IE、Chrome、Firefox) をテストすることにしました。その結果、401 エラーが発生し続け、ログイン ダイアログが表示されません。

次のブログ投稿http://mortoray.com/2014/04/09/allowing-unlimited-access-with-cors/を見つけました。これは、次のコードのチャンクを追加して、すべてのエンドポイントですべてのヘッダーが確実にカバーされるようにすることを提案しています。

これが機能することを期待してAPIコードに追加しましたが、違いはないようです。

API は mod_wsgi を使用して Apache 経由でホストされ、すべての認証はディレクティブを使用して wsgi アプリに渡されWSGIPassAuthorization Onます。

言うまでもなく、私は少し混乱しています。401 エラーが検出された場合、常にログイン ダイアログが表示されるべきではありませんか?

0 投票する
1 に答える
2454 参照

angularjs - 基本認証ヘッダーが失われているようです

私は Flask RESTful サーバーと AngularJS クライアントを書いていますが、いわば送信中にユーザー名とパスワードの情報が失われているように見える問題に直面しています。

Javascript コンソールでは、クライアントが Authorization ヘッダーを期待どおりに送信していることがわかりますAuthorization: Basic username:password。ただし、@auth.verify_password コールバック内では、両方とも空です。

コードのサーバー部分についてかなりの単体テストがあり、認証情報はそれらすべてに存在しているように見えるため、場合によってはヘッダー内から少なくともユーザー名とパスワードを取得できることは心強いです.

さらに、CORS 拡張機能をサーバー コードに追加し、サーバー全体で使用できるようにしました。以下の URL への OPTIONS (常に 200 を返す) は、同じ URL への GET (ユーザー名とパスワードの問題により 401 を返す) の直前に常に呼び出されるようです。

参照コード:

サーバー認証コールバック:

期待どおりに動作するサーバー ユニットのテスト コード:

ブラウザで検査すると適切なヘッダーを生成するが、認証コールバックで空のユーザー名とパスワードを生成する AngularJS コード:

0 投票する
1 に答える
3166 参照

python - Flask Corsが機能していません

Flask アプリで CORS を有効にしようとしていますが、オリジンに何を入れてもブラウザーからいつでも自分の URL にアクセスできるようです。

何が間違っているのかわかりません。これが私のコードです

0 投票する
1 に答える
2186 参照

jquery - フラスコAPIを使用したCORリクエスト - Jquery POSTリクエストの結果がOPTIONになる

浸漬ヒーター デバイスを制御するためのフラスコ API があります。

https://github.com/timcknowles/anovapi_backend/blob/master/anova.py

これは私のlocalhostサーバー上にあり、同じドメインのJQuery POSTリクエストに正しく応答します。

ただし、別のサーバーでsinatraクライアントアプリを構築したかった

https://github.com/timcknowles/anovapi_frontend/blob/master/main.rb

同じ API と対話します。jquery は同一であり、START 呼び出しでは正常に機能しますが、TEMP 呼び出しでは機能しません。

firefox の開発者コンソールでは、POST 要求 (応答 200) の代わりに OPTIONS があることがわかります。

最初に、すべての API jQuery リクエストでクロス ドメインの問題が発生しましたが、フラスコの cors 拡張機能を API に追加することでこれらの問題を解決したと考えていました。

https://pypi.python.org/pypi/Flask-Cors

一時呼び出しが機能しない理由がわかりませんが、他の呼び出しは機能します。温度値の形式でデータを送信しているためだと思われます。

どんなアドバイスでも大歓迎です。

0 投票する
1 に答える
2706 参照

flask - Flask POST リクエストでの「No 'Access-Control-Allow-Origin' header」エラー [CORS]

angularアプリからflaskサーバーへのPOSTリクエストを行うと、次のCORSエラーが発生します。

No 'Access-Control-Allow-Origin' header is present on the requested resource.

フラスコサーバー:

さまざまな応答ヘッダーの組み合わせを試しましたが、うまくいきませんでした。飛行前の OPTIONS リクエストは、次のヘッダーで 200 ok を返します。

応答:

リクエスト:

0 投票する
2 に答える
1482 参照

angularjs - angularJSフロントエンドでCORSエラーを取得

角度のあるフロントエンドを備えたフラスコサーバーを使用しています。最近まで、ローカルでプロジェクトを実行していましたが、問題はありませんでした。

プロジェクトをリモート サーバーに移動したところ、次のエラーが発生しました。何が間違っているのかわかりません:

私のエラー:

XMLHttpRequest はhttp://ec2-..../api/loginStatus/を読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン ' http://localhost:8100 ' へのアクセスは許可されません。応答の HTTP ステータス コードは 503 でした。

フラスコサーバー側コードのスニペット (応答にヘッダーを追加している場所を以下に示します):

フロントエンドの angularjs で、restangular メソッドと $http メソッドの両方を使用しています。

メイン モジュールの .config に次の行を追加しました。

誰かがここで私を助けることができますか? 私は多くの資料を参照しましたが、何が間違っているのかわかりません。

PS: サーバーで 200 のステータス メッセージを受信して​​います。したがって、エラーはサーバー側ではなくフロントエンドにあると想定しています。私が間違っている場合は修正してください

よろしく、スニル

編集

こんにちは、私は問題を解決しました。@Mathijs Segers と @Hassan Mehmood の意見に感謝します。

nginx の構成に問題があり、サーバーが使用できなくなったことが判明しました。

まず、flask バックエンド用に作成されたシンボリック リンクに問題がありました (/home/username の git リポジトリを介してサーバー側を実行し、/var/www/sitename.com にシンボリック リンクを作成しています)。

また、1 秒間に送信できるリクエストの数を調整していた (ユーザーは 2 秒ごとに 1 つしか送信できなかった) ため、503 エラーが発生しました。

修正した後、私が立てた元のコードは正常に機能しました。

0 投票する
3 に答える
22851 参照

python - Flask-CORSはPOSTでは機能しませんが、GETでは機能します

Flask-Restful API をローカルで実行し、JSON を含む POST リクエストを別のポートから送信しています。エラーが発生します

ただし、実行すると

私は得る

「Access-Control-Allow-Origin」を「*」として示します。GET は問題なく動作します。このエラーが発生するのは POST だけです。何がうまくいかないのですか?関連する場合は、フロントエンドに反応を使用し、axios を介して要求しています。

0 投票する
2 に答える
1574 参照

python - フラスコリダイレクト「XMLHttpRequestを読み込めません...」エラーlocalhost

ローカルでフラスコを実行し、呼び出しを試みています:

そして、次のエラーが表示されます。

XMLHttpRequest はhttps://www.google.com/を読み込めません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン「http://127.0.0.1:5000」へのアクセスは許可されていません

CORSをそのまま使用しようとしました:

私のルートの @cross_origin() と一緒に。ここで何がうまくいかないのですか?これは、ローカルで実行しているときにクロムのバグである可能性があると読んでいましたか? .