1

晴れのモバイルアプリサービスhereのチュートリアルに従っています。ブラウザでAzure Mobile Apps JavaScriptクライアントを使用して認証済みテーブルにアクセスする

Cordova azureクライアントを使用すると認証が正常に動作します。しかし、ブラウザ上で、私はクロームコンソールの下にエラーが発生します。

XMLHttpRequest cannot load http://MYAPP.azurewebsites.net/tables/Users?. 
The request was redirected to 'https://MYAPP.azurewebsites.net/tables/Users?', 
which is disallowed for cross-origin requests that require preflight. 

回避策は--disable-ウェブ・セキュリティ・フラグとクロムを実行することです。しかし、この問題を解決する方法があるのだろうかと思います。私は、私が想定している*に紺碧のポータルでCORSを設定している

は、すべての起源

答えて

2

あなたは、Webサーバーが上のホストされているホストのドメインを許可するようにポータルにCORS設定を構成する必要がありますできます。たとえば、アドレスバーにhttps://www.mywebsite.com/のような名前を入力してモバイルアプリを起動する場合は、www.mywebsite.comをCORS設定に追加する必要があります。

また、リクエストがhttpからhttpsにリダイレクトされていることがわかります。 Azureは認証された要求(中間攻撃ではJWTトークンを人間から保護するため)にhttpsを必要とし、要求がhttpであればリダイレクトします。モバイルアプリケーションクライアントがHTTPSを使用するようにするには、コンストラクタのURLを変更する必要があります。

+1

明示的には、https://shellmonger.com/2016/04/04/30-days-of-zumo-v2-azure-mobile-apps-day-3-azure-ad-authentication/を参照してください - ステップ4:リップルの問題のアップデート "を参照してください。 –

+0

私は青空のポータルでCORSを*に設定しました。 – Nader

+0

デールとエイドリアンに感謝します。 紺碧のポータルでCORSを*に設定しました。リソースエクスプローラのallowedExternalRedirectUrlsにhttp:// localhost:8080とhttps:// localhost:8080を追加しました。まだ同じエラー。 ところで、私はnode.js http-serverを使って自分のアプリケーションを実行しています。 – Nader

関連する問題