Verificación de correo electrónico con Firebase 3.0 en Android
Sabía que podemos verificar el correo electrónico de los usuarios con Firebase Auth 3.0. No puedo encontrar ninguna documentación sobre la verificación de correo electrónico en Android. Soy capaz de encontrar lo mismo para iOS, así como web, pero no para Android. Cualquier vínculo a la documentación sería útil.
- Uid de firewall y firebase uid no coinciden después de actualizar firebase a 9.2.0
- FirebaseAuthUserCollisionException?
- Firebase Auth - con correo electrónico y contraseña - Comprobar usuario ya registrado
- Cómo capturar una Firebase Auth excepciones específicas
- Error: No se pudo resolver: com.google.firebase: firebase-core: 11.0.0
De la imagen, está claro que una vez que el usuario se inicie, se le informará sobre eso en el correo electrónico para confirmar su suscripción. Me suscribí y también he verificado en la sección de usuarios en la pestaña Auth y puedo ver mi ID de correo y mi ID de usuario única generada por firebase. Lo que falta aquí es el correo electrónico de confirmación a mi id de correo electrónico. ¿Alguien probar esto o estoy demasiado temprano probar esto? Gracias por tu ayuda.
- Firebase: No se pueden resolver las bibliotecas de google auth y GoogleSignInResult
- ¿Cómo inicializar firebase después del inicio de sesión de google de android?
- Firebase Authentication FirebaseNetworkException: Se ha producido un error de red (como el tiempo de espera, la conexión interrumpida o el host inaccesible)
- Firebase - Correo de verificación de correo electrónico No funciona - Se ha producido un error interno.
- Clase de descriptor de módulo local para com.google.firebase.auth no encontrada
- ¿Cómo capturar Android Firebase signUpWithEmailAndPassword código de error?
- Símbolo de autenticación no válido después de 1 hora - persistencia de disco en Firebase
- Uso del correo y la contraseña para autenticarse mediante la API REST
Actualizar
La verificación de correo electrónico está disponible en la versión 9.6 y superior del SDK de Firebase para Android .
Respuesta original
La verificación por correo electrónico todavía no está disponible para Android. También respondió aquí con más contexto.
La verificación de correo electrónico para android ya está disponible en Firebase. Consulte esta nota de publicación: https://firebase.google.com/support/release-notes/android#9.6
Una alternativa sugerida por el equipo de Firebase
Una cosa que usted podría hacer es agregar un nodo a su base de datos de Firebase que contiene todas las direcciones de correo electrónico como niños. Debe hacer que este nodo solo sea públicamente legible (a través de las reglas de seguridad de Firebase).
Luego, desde tus aplicaciones, una vez que un usuario se registra / se registra, verifica si el correo electrónico de ese usuario está en la lista y, de lo contrario, las firmas y las expulsas de la aplicación. Incluso podría registrar la dirección de correo electrónico del intruso en su base de datos, para que pueda comprobar más tarde quién está intentando acceder a su aplicación).
Esto funcionará para las pruebas iniciales si conoce los identificadores de correo electrónico de las personas que van a probar su aplicación hasta que la verificación de correo electrónico llegue a Android.
Dado que la verificación de correo electrónico sólo funciona con la Email/Password authentication
, el mejor lugar para enviarlo wold estar en el método onComplete
método createUserWithEmailAndPassword(...)
, después de que la suscripción sea correcta.
firebaseAuth.createUserWithEmailAndPassword(email, password) .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { sendVerificationEmail(); ....
El método custom sendVerification
es:
public void sendVerificationEmail() { FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); if (user != null) { user.sendEmailVerification() .addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { if (task.isSuccessful()) { Toast.makeText(SignUpActivity.this, "Signup successful. Verification email sent", Toast.LENGTH_SHORT).show(); } } }); } }
A continuación, puede comprobar si el usuario ha verificado su correo electrónico en cualquier parte de su aplicación llamando a:
mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { firebaseUser = firebaseAuth.getCurrentUser(); if (firebaseUser != null ) { Log.e(TAG, firebaseUser.isEmailVerified() ? "User is signed in and email is verified" : "Email is not verified"); } else { Log.e(TAG, "onAuthStateChanged:signed_out"); } } };
- Cómo reproducir sonido cuando se hace clic en el botón en Android?
- Confundido acerca de la función togglesoftinput