Multiple firebase accounts created on Google login












0















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



























    0















    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

























      0












      0








      0








      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 Nov 19 '18 at 9:48









      ahashahash

      386511




      386511
























          0






          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',
          autoActivateHeartbeat: false,
          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

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          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

          How to change which sound is reproduced for terminal bell?

          Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

          Can I use Tabulator js library in my java Spring + Thymeleaf project?