Pude verificar el correo electrónico del usuario antes del registro. Pero quiero recibir un correo electrónico de verificación en mi dirección de correo electrónico para completar el proceso de registro. Quiero recibir una notificación en mi dirección de correo electrónico y después de mi aprobación solo se completa el proceso de registro. Tengo verificación de verificación de correo electrónico: auth-service.ts
async SignIn(email,password) { const loading =await this.LoadingCtrl.create({ message:'Authenticating..', spinner:"crescent", showBackdrop:true }); loading.present(); this.afauth.setPersistence(firebase.default.auth.Auth.Persistence.LOCAL) .then(()=>{ this.afauth.signInWithEmailAndPassword(email,password) .then((data)=>{ if(!data.user.emailVerified){ loading.dismiss(); this.toast('Please check your credentials','warning'); this.afauth.signOut(); }else{ loading.dismiss(); this.router.navigate(['/home']); } }) .catch(error=>{ loading.dismiss(); this.toast(error.message,'danger'); }) }) .catch(error=>{ loading.dismiss(); this.toast(error.message,'danger'); }); }para registrarse:
async register(){ if(this.firstname && this.lastname && this.email && this.password){ const loading =await this.loadingCtrl.create({ message:'Processing...', spinner:'crescent', showBackdrop:true }); loading.present(); this.afauth.createUserWithEmailAndPassword(this.email,this.password) .then((data)=>{ data.user.sendEmailVerification(); this.afs.collection('user').doc(data.user.uid).set({ 'userId':data.user.uid, 'userEmail':this.email, 'userFirstname':this.firstname, 'userLastname':this.lastname }) .then(()=>{ loading.dismiss(); this.toast('Registration Success','success'); this.router.navigate(['/login']); }) .catch(error=>{ loading.dismiss(); this.toast(error.message,'danger') }) }) } }Parece que desea aprobar que los usuarios puedan usar su aplicación, lo cual es diferente a permitirles verificar su propia dirección de correo electrónico.
Si bien este es un caso de uso válido, Firebase Authentication no tiene una funcionalidad integrada para este caso de uso.
Firebase Authentication solo se ocupa de la parte de autenticación , por lo que permite al usuario proporcionar sus credenciales y verificar esas credenciales. Permitir que solo los usuarios con una dirección de correo electrónico verificada, o los usuarios que haya aprobado, usen la aplicación es una autorización y es parte de la lógica de la aplicación que tendrá que crear usted mismo.
Para permitir que solo los usuarios aprobados accedan a la aplicación/datos, el proceso común es:
isApproved al documento de perfil que ya tiene y que los usuarios no pueden configurar por sí mismos.