Cómo cambiar la contraseña del usuario en Laravel
Mientras trabaja en la aplicación, es posible que desee cambiar rápidamente la contraseña de un usuario por algunas razones y no tiene acceso a la base de datos. Además, no querrás optar por el flujo de contraseña olvidada. En este artículo, te muestro cómo cambiar la contraseña de un usuario en Laravel sin acceder a la base de datos.
Cuando se trata de Laravel, se envía con una tabla de ‘usuarios’ predeterminada en la base de datos. Esta tabla es responsable de almacenar los detalles del usuario, incluidas las credenciales, como el correo electrónico y la contraseña.
Laravel usa su propio hash para cifrar la contraseña. Para cambiar la contraseña, debe usar las mismas técnicas de hash para el cifrado, entonces solo funciona con la autenticación de Laravel.
Cambiar la contraseña del usuario mediante la línea de comandos
Hay varias características que Laravel incluye en su núcleo. Al instalar Laravel, obtenemos todas estas funciones automáticamente. Uno de ellos es Laravel Tinker, un REPL impulsado por el paquete PsySH. Laravel Tinker nos permite interactuar con la base de datos, trabajos, eventos y más de Laravel.
Podemos usar el Tinker para cambiar la contraseña de un usuario en Laravel. Todo lo que necesitamos saber es la dirección de correo electrónico de un usuario. Entonces, para comenzar, abra la terminal en el directorio raíz de su proyecto.
Ingrese al entorno de Tinker ejecutando el comando:
php artisan tinker
Una vez que ingrese al entorno de Tinker, tendrá el control sobre Eloquent ORM. Con el ORM, puede cambiar fácilmente la contraseña del usuario. Digamos que el correo electrónico del usuario es ‘ [email protected] ‘, cuya contraseña debe cambiarse. Al principio, busque este usuario mediante una declaración:
$user = AppUser::where('email', '[email protected]')->first();
A continuación, en el objeto de usuario, establezca la contraseña utilizando el Hash::make()
método. Por ejemplo, configure la contraseña como ‘123456’. Entonces la siguiente declaración es:
$user->password = Hash::make('123456');
Finalmente, llame al método save() de Eloquent ORM de la siguiente manera:
$user->save();
Los 3 comandos anteriores cambiarán la contraseña de un usuario específico.
Cambiar la contraseña del usuario en Laravel usando la ruta
También puede cambiar la contraseña a través de la ruta. Sin embargo, no se recomienda. Solo estoy escribiendo sobre eso, ya que esta también es la forma de cambiar la contraseña. En la función de devolución de llamada de la ruta, use el mismo código que usamos en el Tinker anterior. Ambos harían el trabajo exacto. Declaremos una ruta ‘changepassword’ y pasemos el código en la función de devolución de llamada como se muestra a continuación.
rutas / web.php
<?php
Route::get('changepassword', function() {
$user = AppUser::where('email', '[email protected]')->first();
$user->password = Hash::make('123456');
$user->save();
echo 'Password changed successfully.';
});
?>
Ahora, ejecute la URL YOUR_DOMAIN_URL / changepassword en el navegador. Llamará a la ruta y cambiará la contraseña del usuario. El desarrollador debe eliminar esta ruta una vez que se cambia la contraseña.
Artículos relacionados
- Cómo crear un blog con Laravel
- Cómo crear Honeypot para combatir el spam de formularios en Laravel
- Copia de seguridad de la aplicación Laravel en Dropbox