Laravel – registrar usuario manualmente

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.

Registrar usuario manualmente desde Tinker

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\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:

Laravel y tinker - Usuario creado manualmente

Laravel y tinker – Usuario creado manualmente

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.

Método 2: Registrar usuario directamente en la base de datos

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.

Método 3: el que no falla

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.

Laravel – registrar usuario manualmente

Por parzibyte Tiempo de lectura: 2 min
0