2016-08-09 5 views
6

Firebaseを使用しているCordovaプロジェクトに奇妙な問題が発生しています。ブラウザではうまく動作しますが、エミュレータや携帯電話(Android)でアプリケーションを実行すると、少なくともロードごとの最初のログイン試行は常に「認証/ネットワーク要求に失敗しました」というエラーになります。ここに私の関連Firebaseコードは次のとおりです。Firebaseプロジェクトログイン時に「Auth/network-request-failed」エラーが発生する

<!-- Import Firebase JS --> 
<script src="https://www.gstatic.com/firebasejs/3.2.1/firebase.js"></script> 

<!-- Import Firebase Authentication--> 
<script src="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.js"></script> 
<link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/live/0.4/firebase-ui-auth.css" /> 

そして、ここでは(私は同様の問題が生じる可能性が聞いた)私のセキュリティメタタグです:

<meta "content_security_policy": "script-src 'self' https://apis.google.com https://www.googleapis.com https://securetoken.googleapis.com; object-src 'self'", "permissions": ["https://*/*","activeTab"]> 

編集:私は、任意のコードを変更していないが、あまり頻繁ではないにしても、ブラウザ(Chrome)でこのエラーが発生することがあります。私はパターンを見つけることができませんが、問題はユーザーが登録した後にセッションに出てこないようです。どんな助けでも大歓迎です、ありがとうございました。

+0

この問題についても対処してください。ソリューションはこちらhttps://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome – Lukas

答えて

14

Firebaseのサポートの助けを借りてこの回答に到着しました。ログイン機能を呼び出すボタンは「submit」というタイプのもので、押されるたびにページが更新されていました。これにより、認証プロセスが中断され、「ネットワーク要求に失敗しました」というエラーが発生します。この問題を解決するには、ボタンでtype = "submit"を削除します。

+0

マイボタンのタイプはサブミットされていませんが、ボタンはフォームにも機能していませんでした。フォーム要素を削除した後、フォーム要素が機能しました。ありがとう、私はまだこの答えのためでなければ2日でそれになるだろう – Ced

4

私はこのことについて混乱し、CORS Chrome拡張機能を無効にしたときだけChromeで動作するようになりました。

ChromeカナリアンとFirefox(CORS拡張なし)も問題ありませんでした。私は提出タイプがすべて関連しているとは思わない。

0

無効にCORSクロームプラグインは私のために働い

0

は最後に、私はこの問題を修正しました!

  1. フォームタグは使用しないでください。フォームタグをdivタグに変更しました。
  2. 誰かの答えとして、input type="submit"を使用しないでください。

これまでのところ、私はそれほど確かではありません。しかし、それは私が変更した2つの場所です、そして、firebaseが最終的に修正されたネットワーク問題にサインアップします。

+0

こんにちは。共有してくれてありがとうございますが、これはLiorが与えたのとまったく同じ答えですか? – wp78de

関連する問題