Bienvenidos sean a este post, hoy hablaremos sobre lo necesario para la recuperacion de la contraseña.
Si recuerdan en los posts anteriores mencionamos que en la tabla de los usuarios tenemos un campo llamado token_reset que lo necesitariamos para esta opcion y la opcion al ingreso para solicitar el reseteo en caso de olvidarlo, si bien hoy no hablaremos sobre este tema si mencionaremos lo necesario para nuestro proximo codigo.
La explicacion basica de como lo haremos sera a traves de un metodo que estara en el controlador admin, este se llamara reset, al cual se le enviara un mail como solicitud, si este coincide con el almacenado en la tabla procede a enviar la notificacion para comenzar con el proceso de reseteo, en caso de no coincidir nos lo notificara, es decir como cualquier pagina de recuperacion de datos.
Pero para lograr esto ultimo dependeremos de un complemento externo llamado PHP Mailer, este entrara en accion una vez que hayamos pasado todas las validaciones pertinentes, el complemento se encargara de enviar un mail con el token de reset que tenemos en nuestra tabla, este nos sera devuelto desde el mail a una pagina que poseera un campo oculto dentro de un formulario y sera la parte que completara el proceso de autenticacion antes de permitir el cambio de contraseña, una vez hecho todo esto el mismo controlador procedera a verificar que este todo de forma correcta, ya sea desde que coincidan las dos contraseñas que repetiremos hasta que respeten la longitud y complejidad necesaria para nuestro sitio, una vez modificada la contraseña el usuario ingresara directamente sin necesidad de tener que volver a ingresar la contraseña, si bien esto no es una buena practica muchas veces es una mejor idea de diseño para el usuario y que disfrute mas de la experiencia.
Nuestro siguiente paso sera la habilitacion de este complemento por medio de Composer, para ello debemos ir a nuestro archivo composer.json que esta en el raiz del proyecto donde tenemos las siguientes instrucciones:
composer.json
{
"autoload": {
"psr-4": {
"App\\" : "app/",
"System\\" : "system/"
}
},
"require" : {
"filp/whoops" : "^2.14"
}
}
A lo cual agregaremos la siguiente linea:
{
"autoload": {
"psr-4": {
"App\\" : "app/",
"System\\" : "system/"
}
},
"require" : {
"filp/whoops" : "^2.14",
"phpmailer/phpmailer" : "~6.0"
}
}
En este caso agregamos el nuevo complemento que necesitaremos, una vez modificado y almacenado nuestros siguiente paso sera abrir un terminal y desde este ejecutaremos el siguiente comando:
$ composer.phar update
Esto comenzara la descarga de nuestro nuevo componente, les dejo un ejemplo:
tinchicus@dbn001vrt:~/lenguajes/PHP/proyecto$ composer.phar update
Loading composer repositories with package information
Updating dependencies
Lock file operations: 1 install, 0 updates, 0 removals
- Locking phpmailer/phpmailer (v6.5.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Downloading phpmailer/phpmailer (v6.5.1)
- Installing phpmailer/phpmailer (v6.5.1): Extracting archive
5 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
2 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
tinchicus@dbn001vrt:~/lenguajes/PHP/proyecto$
Si no devolvio ningun error podemos decir que se ha instalado correctamente por lo tanto para los proximos posts cuando comencemos el tema de los controladores y vistas ya no necesitaremos hacer nada mas que simplemente usar el codigo que iremos analizando.
En resumen, hoy hemos visto por arriba como es el proceso de recuperacion de contraseña, cual sera el complemento que usaremos, como trabajara para nosotros y por ultimo hemos instalado el complemento necesario, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
