• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

295
Views
Cómo obtener una dirección de correo electrónico conflictiva del error de inicio de sesión de Firebase

Tengo Sign in With Facebook e Sign In with Google en mi aplicación web React.

Ahora, si el usuario ha iniciado sesión antes de usar Facebook y luego desea iniciar sesión con Google con la misma dirección de correo electrónico que la de su cuenta de Facebook, firebase devuelve este mensaje de error:

Ya existe una cuenta con la misma dirección de correo electrónico de otro proveedor

Mi pregunta ahora es ¿cómo obtengo la dirección de correo electrónico del objeto de error para poder dar a mis usuarios un mejor mensaje de error?

Aquí está mi código:

 const handleFacebookSignIn = () => { let provider = new firebase.auth.FacebookAuthProvider(); firebase .auth() .signInWithPopup(provider) .then((result) => { //Handle success }).catch((error) => { let errorMessage = error.message; if (errorMessage.toLowerCase().includes("An account already exists with the same email address".toLowerCase())) { errorMessage = "Please sign in with your google account"; //How can I get the email address from the error object? } toast.error(errorMessage); }); }

Gracias.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para averiguar qué proveedor tiene (o proveedores tienen) una entrada para una dirección de correo electrónico determinada, puede llamar a firebase.auth().fetchSignInMethodsForEmail . Esto le permite iniciar el flujo de inicio de sesión correcto, una vez que un usuario haya ingresado su dirección de correo electrónico.

No hay forma en los SDK del lado del cliente de buscar directamente el UID en función de una dirección de correo electrónico. Si eso es necesario para su caso de uso (que se solicita con frecuencia, pero no muy a menudo es realmente necesario una vez que conoce fetchSignInMethodsForEmail ), la funcionalidad existe en los SDK de administración, por lo que puede incluirla en un punto final de API personalizado en su servidor. o i Cloud Functions: asegurando el acceso a eso como mejor le parezca.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error