9

I'm running into a strange problem with my Cordova Project that uses Firebase. It works perfectly in browser, but when I run my app on an emulator or phone (Android), (at least) the first login attempt per load always results in an "Auth/network-request-failed" error. Here is my relevant Firebase code:

<!-- 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" />

And here is my security meta-tag (which I heard could result in a similar problem):

<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"]>

EDIT: I have not changed any code but now I experience this error occasionally in browser (Chrome) as well, if less often. I can't find a pattern, although the issue seems to go away in a session after the user registers. Any help would be greatly appreciated, thank you so much.

tony19
  • 64,135
  • 13
  • 95
  • 146
Lior Hirschfeld
  • 341
  • 1
  • 2
  • 11
  • Also deal with this problem. Solution here: https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome – Lukas Aug 22 '17 at 21:57
  • Just to complement Lior's answer. Actually, the problem usually isn't with the button type being equal to 'submit', but the lack of an event.preventDefault() in the click handler. – Vitor Rodrigues Jan 22 '21 at 18:23

7 Answers7

21

I arrived at this answer with the help of Firebase support. It turns out that my button which was calling the login function was of type "submit," which was causing my page to refresh every time it was pressed. This would interrupt the authentication process, resulting in the "network-request-failed" error. To fix this get rid of type="submit" in the button.

Lior Hirschfeld
  • 341
  • 1
  • 2
  • 11
  • My button wasn't of type submit but my button was in a form it wasn't working either. After removing the form element it worked. Thanks a lot, I'd still be at it in two days if it wasn't for this answer – Ced Sep 09 '17 at 21:44
  • 3
    I had this same issue and this answer sent me on the way to a fix. It turned out that my `submitHandler` for the form was bubbling, a simple `e.preventDefault()` solved the problem. – dooburt Dec 05 '18 at 16:52
4

I have spent a great deal of time confused about this and it was only when I disabled the CORS Chrome extension when it began to work on Chrome.

Chrome Canary and Firefox without any CORS extension were fine too. I do not believe the submit type is at all relevant.

Jay Ordway
  • 1,533
  • 1
  • 7
  • 30
2

Well by the [CORS ORIGIN POLICY]1 chrome will not allow you to access any other sites without(http, https). It will Resolved once you host your website, for temporary testing purpose you can use Mozilla Firefox which allows you to access. Have a nice day!!

Ragul Cs
  • 167
  • 10
1

Finally, I fixed this problem!

  1. Don't use form tag! I changed form tag into div tag then it works!!!
  2. Don't use input type="submit", as someone's answer up there.

So far, I am not really sure why. But that's the two places I have changed, and then the firebase sign up network problem finally fixed.

Jann
  • 1,627
  • 3
  • 20
  • 34
mengru zhang
  • 121
  • 1
  • 8
1

If you are using the "HTTPS Everywhere" extension, then go to the "HTTPS Everywhere" settings and click on the "Disable HTTPS Everywhere for this site" button. It helped me.

ARSLN
  • 11
  • 2
0

Disable CORS Chrome plugin worked for me

Christer
  • 1,689
  • 1
  • 23
  • 42
0

So this happened to me and it turned out Privacy Badger suddenly added my app's firebase domain to its block lists, randomly and without warning after months of Mr. Badger being okay with it...

Allowing the firebase domain to set cookies (moving the slider all the way to the right) fixed the issue.

Steven Huang
  • 461
  • 3
  • 15