En muchos casos al usar Laravel vamos a necesitar registrar un usuario manualmente. Ya sea en nuestro ambiente de pruebas o incluso en el ambiente de producción, por alguna u otra cosa.
Por ejemplo, en mi caso he desactivado el registro de usuarios en la autenticación, así que si necesito registrar uno manualmente.
Justamente escribo este post, para explicar algunas maneras de registrar manualmente a un usuario en Laravel para que pueda iniciar sesión y en resumen autenticarse.
Este primer método es por si tienes acceso a la consola en donde quieres crear el usuario. Vamos a usar a artisan y tinker (si no tienes PHP en la PATH agrega el ejecutable).
En caso de que no tengas acceso, mira el segundo método.
Dirígete a la carpeta de tu proyecto, ábrela con la terminal y ejecuta:
php artisan tinker
Cuando se haya iniciado podrás ejecutar código así como si estuviera en un archivo de PHP. Lo que haremos será crear un usuario de la clase User, el cual es un modelo. Así que comienza por:
$user = new App\Models\User;
Después ponle todos los campos de la tabla. En mi caso únicamente pongo el nombre:
$user->nombre = "luis";
No olvides ponerle una contraseña, pero usando el método Hash::make()
de Laravel, ya que las contraseñas deben ir hasheadas.
Así que:
$user->password = Hash::make("123");
Obviamente en lugar de 123 pon una contraseña segura y fácil de recordar. Cuando termines de establecer todas las propiedades llama a save para guardar tu modelo:
$user->save();
Si revisas la tabla, ahí estará el usuario que acabas de crear. Y ahora ya se podrá autenticar. Mira los pasos en la siguiente imagen:
Termina la sesión de tinker presionando Ctrl + C. Con eso habrás registrado a un usuario de manera manual, si quieres registrar a otros usuarios sigue el mismo proceso.
Los comandos completos son:
php artisan tinker
$user = new App\Models\User;
$user->nombre = "luis";
$user->password = Hash::make("123");
$user->save();
Si en tu ambiente de producción no tienes acceso a la consola por la razón que sea, no te preocupes, hay alternativas. Aunque me parece que con las últimas versiones se puede acceder a artisan desde la web vamos a omitirlo.
Lo que vamos a hacer es registrar un usuario en el ambiente de pruebas, y luego exportarlo al ambiente en producción.
Es decir, registra el usuario como se ve en el primer método, y copia los datos (o expórtalos) a tu base de datos del ambiente de producción. De esa manera la contraseña irá hasheada y todo funcionará de maravillas.
En caso de que tampoco puedas acceder a la consola de manera local, inserta los datos en la base de datos manualmente.
Para el hash de la contraseña puedes usar los algoritmos de bcrypt que ofrece PHP, llamando a password_hash
. Genera los datos de manera local y cópialos manualmente a tu base de datos; tal vez no es el método más fácil pero sí el que es posible.
Finalmente te invito a leer más sobre Laravel.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.