Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

345
Visualizações
Firebase Auth con Facebook falla si la cuenta ya existe y está asociada con Google Auth

Implementé una aplicación simple que contiene 2 botones: 1 para iniciar sesión a través de Google y el otro a través de Facebook.

Ambos métodos de autenticación funcionan individualmente, pero las cosas se complican más cuando:

  • el usuario tiene una dirección de gmail y primero se autentica usando el servicio de inicio de sesión de Google
  • luego, regresa e intenta iniciar sesión utilizando el servicio de inicio de sesión de Facebook.

Aquí viene el código de error auth/account-exists-with-different-credential que ya se ha mencionado aquí en stackoverflow Firebase JS API auth - account-exists-with- different-credential

El problema es que el objeto de error que recibo no contiene un nombre de propiedad de credential (ni un nombre de propiedad de email por cierto) en la pequeña aplicación que he creado.

Extracto de loginWithFacebook.js en la aplicación

 export async function loginWithFacebook() { signInWithPopup(auth, new FacebookAuthProvider()) .then((result) => { const user = result.user; console.log(user); }) .catch(function (error) { if (error.code === 'auth/account-exists-with-different-credential') { console.log(error.credential); // undefined console.log(error.email); // undefined } }); }

enlace a la aplicación de prueba

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tuve el mismo problema y pude solucionarlo investigando la propiedad customData del error devuelto. Probablemente este comportamiento diferente tenga que ver con la versión específica de Firebase. El mío es firebase@9.6.9.

Entonces, prueba a ver si esto funciona:

 export async function loginWithFacebook() { signInWithPopup(auth, new FacebookAuthProvider()) .then((result) => { const user = result.user; console.log(user); }) .catch(function (error) { if (error.code === 'auth/account-exists-with-different-credential') { console.log(FacebookAuthProvider.credentialFromError(error)); console.log(error.customData.email); } });

}

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda