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

193
Visualizações
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 Respostas
Responde à pergunta

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 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