ReactJS
Users
Restablecimiento de Contraseña en React con Parse.User
8 min
restablecimiento de contraseña de usuario para react introducción es un hecho que tan pronto como introduces contraseñas en un sistema, los usuarios las olvidarán en tales casos, la biblioteca parse proporciona una forma de permitirles restablecer su contraseña de manera segura al igual que con la verificación de correo electrónico, parse ya tiene una implementación lista para esto, parse user requestpasswordemail parse user requestpasswordemail al usar este método, parse manejará todos los aspectos del restablecimiento de contraseñas de manera fluida requisitos previos para completar este tutorial, necesitarás una aplicación react creada y conectada a back4app completa la guía anterior para que puedas tener una mejor comprensión de la clase parse user y el método parse user login https //www back4app com/docs/react/working with users/react user login si deseas probar/utilizar el diseño de pantalla proporcionado por esta guía, deberías configurar la ant design ant design biblioteca objetivo agregar una función de restablecimiento de contraseña de usuario a una aplicación react utilizando parse 1 personalizando los correos electrónicos de restablecimiento de contraseña antes de llamar al parse user requestpasswordemail parse user requestpasswordemail método, puedes personalizar el mensaje que tu usuario recibirá después de solicitar un restablecimiento de contraseña inicia sesión en el panel de control de tu aplicación parse, ve a configuración >correos electrónicos de verificación y cambia el asunto o el mensaje de tu correo electrónico de restablecimiento de contraseña asegúrate de que tu usuario reciba un correo electrónico que contenga instrucciones claras e indique que realmente proviene de tu aplicación 2 usando requestpasswordemail llamar al parse user requestpasswordemail parse user requestpasswordemail método solo requiere el correo electrónico de tu cuenta de usuario como parámetro, así que adelante y agrega la siguiente función a tu componente de restablecimiento de contraseña recuerda agregar un campo de texto para el correo electrónico de tu usuario a tu componente javascript 1 const dorequestpasswordreset = async function () { 2 // note that this value come from state variables linked to your text input 3 const emailvalue = email; 4 try { 5 await parse user requestpasswordreset(emailvalue); 6 alert(`success! please check ${email} to proceed with password reset `); 7 return true; 8 } catch(error) { 9 // error can be caused by lack of internet connection 10 alert(`error! ${error}`); 11 return false; 12 } 13 };1 const dorequestpasswordreset = async function () promise\<boolean> { 2 // note that this value come from state variables linked to your text input 3 const emailvalue string = email; 4 try { 5 await parse user requestpasswordreset(emailvalue); 6 alert(`success! please check ${email} to proceed with password reset `); 7 return true; 8 } catch(error any) { 9 // error can be caused by lack of internet connection 10 alert(`error! ${error}`); 11 return false; 12 } 13 }; adelante y prueba tu componente después de solicitar un correo electrónico de restablecimiento de contraseña, deberías haber recibido el correo, así que revisa tu bandeja de entrada ten en cuenta que el mensaje contendrá cualquier cambio que hayas configurado anteriormente en tu panel de control de parse el formulario de restablecimiento de contraseña se verá así eso es todo, después de cambiar la contraseña en este formulario, su usuario podrá iniciar sesión nuevamente en su aplicación 3 creando un componente de solicitud de contraseña como se dijo antes, debes crear un componente que contenga la función mostrada en el paso 2 y también un campo de entrada de texto para el correo electrónico de tu cuenta de usuario para habilitar el restablecimiento de contraseña en tu aplicación aquí hay un ejemplo completo de este componente puedes integrarlo en el proyecto de inicio de sesión de usuario de nuestra guía anterior si lo deseas userresetpassword js 1 import react, { usestate } from 'react'; 2 import parse from 'parse/dist/parse min js'; 3 import ' /app css'; 4 import { button, divider, input } from 'antd'; 5	 6 export const userpasswordreset = () => { 7 // state variables 8 const \[email, setemail] = usestate(''); 9	 10 // functions used by the screen components 11 const dorequestpasswordreset = async function () { 12 // note that this value come from state variables linked to your text input 13 const emailvalue = email; 14 try { 15 await parse user requestpasswordreset(emailvalue); 16 alert(`success! please check ${email} to proceed with password reset `); 17 return true; 18 } catch (error) { 19 // error can be caused by lack of internet connection 20 alert(`error! ${error}`); 21 return false; 22 } 23 }; 24	 25 return ( 26 \<div> 27 \<div classname="header"> 28 \<img 29 classname="header logo" 30 alt="back4app logo" 31 src={ 32 'https //blog back4app com/wp content/uploads/2019/05/back4app white logo 500px png' 33 } 34 /> 35 \<p classname="header text bold">{'react on back4app'}\</p> 36 \<p classname="header text">{'user password reset'}\</p> 37 \</div> 38 \<div classname="container"> 39 \<h2 classname="heading">{'request password reset email'}\</h2> 40 \<divider /> 41 \<div classname="form wrapper"> 42 \<input 43 value={email} 44 onchange={(event) => setemail(event target value)} 45 placeholder="your account email" 46 size="large" 47 classname="form input" 48 /> 49 \</div> 50 \<div classname="form buttons"> 51 \<button 52 onclick={() => dorequestpasswordreset()} 53 type="primary" 54 classname="form button" 55 color={'#208aec'} 56 size="large" 57 > 58 request password reset 59 \</button> 60 \</div> 61 \</div> 62 \</div> 63 ); 64 }; userresetpassword tsx 1 import react, { usestate, fc, reactelement } from 'react'; 2 import ' /app css'; 3 import { button, divider, input } from 'antd'; 4 const parse = require('parse/dist/parse min js'); 5	 6 export const userpasswordreset fc<{}> = () reactelement => { 7 // state variables 8 const \[email, setemail] = usestate(''); 9	 10 // functions used by the screen components 11 const dorequestpasswordreset = async function () promise\<boolean> { 12 // note that this value come from state variables linked to your text input 13 const emailvalue string = email; 14 try { 15 await parse user requestpasswordreset(emailvalue); 16 alert(`success! please check ${email} to proceed with password reset `); 17 return true; 18 } catch(error any) { 19 // error can be caused by lack of internet connection 20 alert(`error! ${error}`); 21 return false; 22 } 23 }; 24	 25 return ( 26 \<div> 27 \<div classname="header"> 28 \<img 29 classname="header logo" 30 alt="back4app logo" 31 src={ 32 'https //blog back4app com/wp content/uploads/2019/05/back4app white logo 500px png' 33 } 34 /> 35 \<p classname="header text bold">{'react on back4app'}\</p> 36 \<p classname="header text">{'user password reset'}\</p> 37 \</div> 38 \<div classname="container"> 39 \<h2 classname="heading">{'request password reset email'}\</h2> 40 \<divider /> 41 \<div classname="form wrapper"> 42 \<input 43 value={email} 44 onchange={(event) => setemail(event target value)} 45 placeholder="your account email" 46 size="large" 47 classname="form input" 48 /> 49 \</div> 50 \<div classname="form buttons"> 51 \<button 52 onclick={() => dorequestpasswordreset()} 53 type="primary" 54 classname="form button" 55 color={'#208aec'} 56 size="large" 57 > 58 request password reset 59 \</button> 60 \</div> 61 \</div> 62 \</div> 63 ); 64 }; agrega estas clases a tu app css app css archivo para renderizar completamente los elementos del diseño del componente app css 1 @import ' antd/dist/antd css'; 2	 3 app { 4 text align center; 5 } 6	 7 html { 8 box sizing border box; 9 outline none; 10 overflow auto; 11 } 12	 13 , 14 before, 15 after { 16 margin 0; 17 padding 0; 18 box sizing inherit; 19 } 20	 21 h1, 22 h2, 23 h3, 24 h4, 25 h5, 26 h6 { 27 margin 0; 28 font weight bold; 29 } 30	 31 p { 32 margin 0; 33 } 34	 35 body { 36 margin 0; 37 background color #fff; 38 } 39	 40 container { 41 width 100%; 42 max width 500px; 43 margin auto; 44 padding 20px 0; 45 text align left; 46 } 47	 48 header { 49 align items center; 50 padding 25px 0; 51 background color #208aec; 52 } 53	 54 header logo { 55 height 55px; 56 margin bottom 20px; 57 object fit contain; 58 } 59	 60 header text bold { 61 margin bottom 3px; 62 color rgba(255, 255, 255, 0 9); 63 font size 16px; 64 font weight bold; 65 } 66	 67 header text { 68 color rgba(255, 255, 255, 0 9); 69 font size 15px; 70 } 71	 72 heading { 73 font size 22px; 74 } 75	 76 form wrapper { 77 margin top 20px; 78 margin bottom 10px; 79 } 80	 81 form input { 82 margin bottom 20px; 83 } 84	 85 form button { 86 width 100%; 87 } este componente debería renderizarse en una pantalla como esta conclusión al final de esta guía, aprendiste cómo permitir que tus usuarios de parse restablezcan su contraseña en react en la próxima guía, te mostraremos cómo realizar consultas útiles de usuarios