Android
Users
Implementación de registro y verificación de correo en Android
19 min
cómo implementar el registro de usuarios con verificación de correo electrónico introducción en esta guía, aprenderás cómo configurar un proceso de verificación de correo electrónico para una función de registro de usuarios (registro) crearás una aplicación que incluye el registro de usuarios con verificación de correo electrónico utilizando las características principales de parse server a través de back4app este tutorial utiliza una aplicación básica creada en android studio 4 1 1 con buildtoolsversion=30 0 3 buildtoolsversion=30 0 3 , compile sdk version = 30 compile sdk version = 30 y targetsdkversion 30 targetsdkversion 30 en cualquier momento, puedes acceder al proyecto completo a través de nuestros repositorios de github repositorio de ejemplo en kotlin repositorio de ejemplo en java objetivo configurar un proceso de verificación de correo electrónico de usuario en back4app en una función de registro de usuario requisitos previos para completar este tutorial, necesitas android studio una aplicación de android creada y conectada a back4app un dispositivo (o dispositivo virtual ) que ejecute android 4 1 (jelly bean) o más reciente 1 importar biblioteca en este paso importaremos las bibliotecas que vamos a usar en nuestro proyecto agrega las siguientes clases de parse a nuestras actividades 2\ necesitas agregar java 1 8 java 1 8 a nuestro proyecto a través de build gradle(module\ app) build gradle(module\ app) porque usarás funciones lambda con frecuencia en este proyecto 1 compileoptions { 2 sourcecompatibility javaversion version 1 8 3 targetcompatibility javaversion version 1 8 4 } 2 habilitar verificación de correo electrónico ahora habilitemos la verificación de correo electrónico en el panel de control de back4app la página de verificación de correo electrónico tiene dos propiedades verificar correos electrónicos de usuarios y prevenir el inicio de sesión si el correo no está verificado si solo habilitas la opción verificar correos electrónicos de usuarios, el usuario recibirá el correo de verificación pero podrá iniciar sesión y usar la aplicación normalmente si también habilitas la opción “prevenir el inicio de sesión si el correo no está verificado”, el usuario solo podrá iniciar sesión después de concluir el proceso de verificación de correo electrónico 1\ ve a tu aplicación en sitio web de back4app y haz clic en configuración del servidor configuración del servidor 2\ encuentra la tarjeta “correos electrónicos de verificación” y haz clic en configuración configuración 3\ haz clic en verificar correo electrónico del usuario verificar correo electrónico del usuario y prevenir el inicio de sesión si el correo electrónico no está verificado prevenir el inicio de sesión si el correo electrónico no está verificado 4\ opcional completa los campos vacíos y modifica los que ya han sido llenados según tus preferencias 5\ haz clic en el botón guardar botón guardar 3 registrarse los dos atributos fundamentales de parseuser parseuser son el nombre de usuario y la contraseña hay un tercer atributo especial que también debes establecer, es decir, el correo electrónico para implementar el registro con verificación de correo electrónico, utilizarás el mismo método que usaste para implementar el registro de usuario pero esta vez, en lugar de redirigir al usuario a una pantalla de inicio de sesión, le pedirás al usuario que verifique su correo electrónico para iniciar sesión después de completar el proceso de registro, el usuario se guardará en la base de datos los datos del usuario estarán disponibles en parse dashboard parse dashboard con el atributo boolean mailverified establecido en falso el proceso de verificación de correo electrónico consiste en verificar el correo electrónico del usuario y establecer este atributo en verdadero para que el usuario pueda acceder completamente a todos los recursos de tu aplicación tu pantalla de registro se verá así crea un signupactivity signupactivity siguiendo estos pasos 1\ importa en tu signupactivity signupactivity , además de las dependencias importadas en paso 1 2\ implementa el registro de usuario utilizando el siguiente código 1 private void signup(string username, string password, string email) { 2 progressdialog show(); 3 parseuser user = new parseuser(); 4 user setusername(username); 5 user setpassword(password); 6 user setemail(email); 7 user signupinbackground(e > { 8 progressdialog dismiss(); 9 if (e == null) { 10 parseuser logout(); 11 showalert("account created successfully!", "please verify your email before login", false); 12 } else { 13 parseuser logout(); 14 showalert("error account creation failed", "account could not be created" + " " + e getmessage(), true); 15 } 16 }); 17 }1 private fun signup(username string, password string, email string) { 2 progressdialog? show() 3 val user = parseuser() 4 user username = username 5 user setpassword(password) 6 user email = email 7 user signupinbackground(signupcallback { 8 progressdialog? dismiss() 9 if (it == null) { 10 parseuser logout(); 11 showalert("account created successfully!","please verify your email before login", false) 12 } else { 13 parseuser logout(); 14 showalert("error account creation failed","account could not be created" + " " + it message,true) 15 } 16 }) 17 } en el proyecto de ejemplo, este código está disponible dentro de un registrarse registrarse callback de botón además, el nombre de usuario, la contraseña y el correo electrónico se obtienen utilizando edit texts puedes agregar tu propio código para verificar si la dirección de correo electrónico es válida antes de configurarla en el front end finalmente, puedes agregar tu propio código para proporcionar retroalimentación después de concluir el registro, veremos el siguiente mensaje… 3\ es interesante agregar un método adicional para mostrar diálogos de alerta y hacer que el proceso se vea más profesional aquí te mostramos cómo puedes hacerlo 1 private void showalert(string title, string message, boolean error) { 2 alertdialog builder builder = new alertdialog builder(signupactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", (dialog, which) > { 6 dialog cancel(); 7 // don't forget to change the line below with the names of your activities 8 if (!error) { 9 intent intent = new intent(signupactivity this, loginactivity class); 10 intent addflags(intent flag activity clear task | intent flag activity new task); 11 startactivity(intent); 12 } 13 }); 14 alertdialog ok = builder create(); 15 ok show(); 16 }1 private fun showalert(title string, message string, error boolean) { 2 val builder = alertdialog builder(this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok") { dialog, which > 6 dialog cancel() 7 // don't forget to change the line below with the names of your activities 8 if (!error) { 9 val intent = intent(this\@signupactivity, loginactivity class java) 10 intent addflags(intent flag activity clear task or intent flag activity new task) 11 startactivity(intent) 12 } 13 } 14 val ok = builder create() 15 ok show() 16 } después de registrarse, recibiremos un correo electrónico como este después de verificar el correo electrónico, la propiedad se establecerá en verdadero después de verificar el correo electrónico, la propiedad se establecerá en verdadero 4 iniciar sesión para implementar el inicio de sesión con verificación de correo electrónico, utilizarás el mismo método que usaste para implementar el registro de usuario pero esta vez, parse verificará el emailverified booleano antes de otorgar acceso adicional al usuario nota el usuario realmente inicia sesión cuando se llama a la función parseuser logininbackground() pero no puede acceder a la aplicación completamente hasta que se complete la verificación de correo electrónico, debido a un objeto de sesión que se crea en la base de datos por lo tanto, es importante usar parseuser logout() cada vez que el usuario que no ha verificado su correo electrónico intenta acceder a la aplicación sin éxito, para no dejar sesiones sesiones abiertas si has habilitado la opción ‘prevenir el inicio de sesión si el correo electrónico no está verificado’ en el paso 2, recibirás el siguiente error si intentas iniciar sesión sin verificar tu correo electrónico para hacer que loginactivity loginactivity funcione, sigue estos pasos 1\ importa en tu loginactivity loginactivity , además de las dependencias importadas en paso 1 2\ para implementar la función de inicio de sesión de usuario, simplemente usa el siguiente código 1 private void login(string username, string password) { 2 progressdialog show(); 3 parseuser logininbackground(username, password, (parseuser, e) > { 4 progressdialog dismiss(); 5 if (parseuser != null) { 6 showalert("login successful", "welcome, " + username + "!", false); 7 } else { 8 parseuser logout(); 9 showalert("login fail", e getmessage() + " please try again", true); 10 } 11 }); 12 }1 private fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, e parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("login successful", "welcome, $username!", false) 7 } else { 8 parseuser logout() 9 showalert("login fail", e? message + " please try again", true) 10 } 11 } 12 } en el proyecto de ejemplo, este código está disponible en un iniciar sesión iniciar sesión callback de botón además, el nombre de usuario y la contraseña se obtienen utilizando edit texts el método alertdisplayer alertdisplayer es el mismo que agregaste en el signupactivity signupactivity , no olvides cambiar sus argumentos de intent argumentos de intent sin embargo 5 cerrar sesión para implementar el cierre de sesión del usuario, simplemente usa el código a continuación, en el logoutactivity logoutactivity 1 progressdialog show(); 2 parseuser logoutinbackground(e > { 3 progressdialog dismiss(); 4 if (e == null) 5 showalert("so, you're going ", "ok bye bye then"); 6 });1 progressdialog!! show() 2 parseuser logoutinbackground { e parseexception? > 3 progressdialog!! dismiss() 4 if (e == null) 5 showalert("so, you're going ", "ok bye bye then") 6 } en el proyecto de ejemplo, este código está disponible dentro de un cerrar sesión cerrar sesión callback de botón el método alertdisplayer alertdisplayer es el mismo que agregaste en el loginactivity loginactivity y signupactivity signupactivity , no olvides cambiar sus argumentos de intent argumentos de intent 6 prueba tu aplicación ejecuta tu aplicación, crea un par de usuarios y prueba iniciar sesión después de registrarte sin 1\ ejecuta tu aplicación, crea un par de usuarios y prueba iniciar sesión después de registrarte sin verificar el correo electrónico para ver si se muestra el error 2\ inicia sesión en el sitio web de back4app https //www back4app com/ 3\ encuentra tu aplicación y haz clic en tablero tablero > núcleo núcleo > navegador navegador > usuario usuario para ver los usuarios que has creado! ¡está hecho! en esta etapa, puedes iniciar sesión, registrarte o cerrar sesión en tu aplicación utilizando la verificación de correo electrónico con las características principales de parse server a través de back4app!