Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does my firebase Google Auth popup close immediately?

I'm following this tutorial to learn firebase. I cloned the repo. At step 7, I did what it said (though, actually, there was nothing to do here because the steps were already completed in the repo). When I click the [SIGN-IN WITH GOOGLE] button in the UI, the auth window pops open and closes immediately.

I'm developing in an Ubuntu Guest in VMWare. The following domains are authorized for this app in the firebase console:

  • localhost
  • blahblah.firebaseapp.com
  • 127.0.0.1
  • < my guest ip >
  • < my host/public ip >

The firebase website says ask here. I searched thouroughly first, the (few) other posted solutions didn't work.

Can anyone tell me why this is happening?

like image 346
Sir Robert Avatar asked Mar 19 '19 21:03

Sir Robert


1 Answers

Sorry for late reply, and even though you decided to go further using another service provider the below might be helpful for others having the same issue.

The popup could be closed immediately after it opens due to an error which you can catch using step 5 from here: https://firebase.google.com/docs/auth/web/google-signin

Here is a brief snippet of how to do it, just modify signInWithPopup function in public/scripts/main.js:

firebase.auth().signInWithPopup(provider).then(function(result) {
  // code which runs on success
}).catch(function(error) {
  // Handle Errors here.
  var errorCode = error.code;
  console.log(errorCode);
  alert(errorCode);

  var errorMessage = error.message;
  console.log(errorMessage);
  alert(errorMessage);
});

To my experience the errorCode could be something like "auth/unauthorized-domain" and the errorMessage could point to the restricted domain you are accessing from: "This domain (127.0.0.1) is not authorized to run this operation. Add it to the OAuth redirect domains list in the Firebase console -> Auth section -> Sign in method tab."

The solution for me was to use localhost:8080 istead of 127.0.0.1:8080, however 127.0.0.1 also can be added to trusted domains using instructions in the errorMessage.

Your error might be different, but hope it helps to debug. Thanks.

like image 64
AlexZ005 Avatar answered Sep 22 '22 14:09

AlexZ005