Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

190
Vistas
Enviar enlace de verificación de correo electrónico no funciona en firebase auth expo

Estoy tratando de crear un sistema de registro en el que solo puedas usar los correos electrónicos existentes. Estoy tratando de enviar un enlace de verificación de correo electrónico al correo electrónico una vez que han presionado un botón, y si se verifica, se crea el usuario. Esta es mi función:

 userSignUp = (emailID,password,confirmPassword) => { if(password !== confirmPassword) { return alert("Password does not match. \n Check your password.") } else if(this.state.firstName !== '' && this.state.lastName !== '' && this.state.emailID !== '' && this.state.password !== ''){ alert('A mail has been sent to your email account. Verify it and you will be able to login.'); return firebase.auth().currentUser.sendEmailVerification() .then(() => { if(authUser.user.emailVerified){ //This will return true or false firebase.auth().createUserWithEmailAndPassword(emailID, password) .then(()=>{ //console.log(this.state) db.collection("Users").add({ 'firstName': this.state.firstName, 'lastName': this.state.lastName, 'contact': this.state.contact, 'emailID': this.state.emailID, 'password': this.state.password, 'points': 0, 'description': '' }) return alert('Account has been created. You can now login.'); }) .catch((error) => { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; return alert(errorMessage); }); } else { return alert('Verification failed. Failed to create account.') } }); } else if(this.state.firstName === ''){ return alert("Please enter your first name."); } else if(this.state.lastName === ''){ return alert("Please enter your last name."); } else if(this.state.emailID === ''){ return alert("Please enter your email address."); } else if(this.state.password === ''){ return alert("Please enter your password."); } }

Por cierto, también recibo este error

TypeError: null no es un objeto (evaluando 'firebase.default.auth().currentUser.sendEmailVerification')

¿Hay alguna otra forma de verificar si el correo electrónico existe? Estoy en javascript usando el cliente expo. ¿Alguien puede ayudarme por favor? Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El usuario debe iniciar sesión para solicitar un correo electrónico de verificación. Parece que está intentando verificar el correo electrónico del usuario antes de iniciar sesión o incluso crear su cuenta en primer lugar, lo que no es posible en este momento. Entonces el flujo debe ser:

 // 1. Create user account / log user in firebase.auth().createUserWithEmailAndPassword(emailID, password).then(async ({user}) => { // 2. Send verification email await user.sendEmailVerification() console.log("Verification email sent!") })

Puede usar la propiedad emailVerified en la aplicación para alertar al usuario si aún no ha verificado el correo electrónico y restringir su acceso mediante reglas de seguridad. También echa un vistazo:

Firebase Authentication: verifica el correo electrónico antes de registrarte

Verificación de correo electrónico de Firebase al registrarse

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda