Multiple firebase accounts created on Google login











up vote
0
down vote

favorite












Our (Electron) app is backed by firebase for authentication, where we have two authentication methods enabled; namely: Email and Google Accounts.



When authenticating with Google, we open a non-Electron browser window and provide the required redirect_uri. The http service is provided by our Electron app which is listening for Google's authentication code. Once the code is received, we make a request for the authentication token, and use it to further generate credentials required to login to our firebase project.



Everything during our testing worked correctly, however, we're seeing an issue where a small number of new logins will create multiple accounts in firebase, all with their own unique uid.



Additional notes:




  • Firebase project is setup to allow only a single account per e-mail address

  • Firebase version is 5.4.2


Login function



Once we retrieve the token, the following function is responsible for logging the user in.



public async googleLogin(credentials) {
try {
const googleCred = firebase.auth.GoogleAuthProvider.credential(credentials.id_token);
await firebase.auth().signInAndRetrieveDataWithCredential(googleCred);
// auth successful, firebase.auth().onAuthStateChanged() will fire
} catch (err) {
// authentication error.
}
}


The number of accounts created per Google address vary (so far, we've seen from 2 to 7 different uids being created for a single Google account).



Unsure what may be causing this from our end, but if anyone has any ideas, it would be greatly appreciated.



Note: I have also written to Firebase support, and will update the question (or post an answer) when we do manage to resolve this.










share|improve this question


























    up vote
    0
    down vote

    favorite












    Our (Electron) app is backed by firebase for authentication, where we have two authentication methods enabled; namely: Email and Google Accounts.



    When authenticating with Google, we open a non-Electron browser window and provide the required redirect_uri. The http service is provided by our Electron app which is listening for Google's authentication code. Once the code is received, we make a request for the authentication token, and use it to further generate credentials required to login to our firebase project.



    Everything during our testing worked correctly, however, we're seeing an issue where a small number of new logins will create multiple accounts in firebase, all with their own unique uid.



    Additional notes:




    • Firebase project is setup to allow only a single account per e-mail address

    • Firebase version is 5.4.2


    Login function



    Once we retrieve the token, the following function is responsible for logging the user in.



    public async googleLogin(credentials) {
    try {
    const googleCred = firebase.auth.GoogleAuthProvider.credential(credentials.id_token);
    await firebase.auth().signInAndRetrieveDataWithCredential(googleCred);
    // auth successful, firebase.auth().onAuthStateChanged() will fire
    } catch (err) {
    // authentication error.
    }
    }


    The number of accounts created per Google address vary (so far, we've seen from 2 to 7 different uids being created for a single Google account).



    Unsure what may be causing this from our end, but if anyone has any ideas, it would be greatly appreciated.



    Note: I have also written to Firebase support, and will update the question (or post an answer) when we do manage to resolve this.










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Our (Electron) app is backed by firebase for authentication, where we have two authentication methods enabled; namely: Email and Google Accounts.



      When authenticating with Google, we open a non-Electron browser window and provide the required redirect_uri. The http service is provided by our Electron app which is listening for Google's authentication code. Once the code is received, we make a request for the authentication token, and use it to further generate credentials required to login to our firebase project.



      Everything during our testing worked correctly, however, we're seeing an issue where a small number of new logins will create multiple accounts in firebase, all with their own unique uid.



      Additional notes:




      • Firebase project is setup to allow only a single account per e-mail address

      • Firebase version is 5.4.2


      Login function



      Once we retrieve the token, the following function is responsible for logging the user in.



      public async googleLogin(credentials) {
      try {
      const googleCred = firebase.auth.GoogleAuthProvider.credential(credentials.id_token);
      await firebase.auth().signInAndRetrieveDataWithCredential(googleCred);
      // auth successful, firebase.auth().onAuthStateChanged() will fire
      } catch (err) {
      // authentication error.
      }
      }


      The number of accounts created per Google address vary (so far, we've seen from 2 to 7 different uids being created for a single Google account).



      Unsure what may be causing this from our end, but if anyone has any ideas, it would be greatly appreciated.



      Note: I have also written to Firebase support, and will update the question (or post an answer) when we do manage to resolve this.










      share|improve this question













      Our (Electron) app is backed by firebase for authentication, where we have two authentication methods enabled; namely: Email and Google Accounts.



      When authenticating with Google, we open a non-Electron browser window and provide the required redirect_uri. The http service is provided by our Electron app which is listening for Google's authentication code. Once the code is received, we make a request for the authentication token, and use it to further generate credentials required to login to our firebase project.



      Everything during our testing worked correctly, however, we're seeing an issue where a small number of new logins will create multiple accounts in firebase, all with their own unique uid.



      Additional notes:




      • Firebase project is setup to allow only a single account per e-mail address

      • Firebase version is 5.4.2


      Login function



      Once we retrieve the token, the following function is responsible for logging the user in.



      public async googleLogin(credentials) {
      try {
      const googleCred = firebase.auth.GoogleAuthProvider.credential(credentials.id_token);
      await firebase.auth().signInAndRetrieveDataWithCredential(googleCred);
      // auth successful, firebase.auth().onAuthStateChanged() will fire
      } catch (err) {
      // authentication error.
      }
      }


      The number of accounts created per Google address vary (so far, we've seen from 2 to 7 different uids being created for a single Google account).



      Unsure what may be causing this from our end, but if anyone has any ideas, it would be greatly appreciated.



      Note: I have also written to Firebase support, and will update the question (or post an answer) when we do manage to resolve this.







      firebase oauth-2.0 firebase-authentication electron






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 13 hours ago









      ahash

      386510




      386510





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371983%2fmultiple-firebase-accounts-created-on-google-login%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371983%2fmultiple-firebase-accounts-created-on-google-login%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

          Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

          A Topological Invariant for $pi_3(U(n))$