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:

Relacionado:  Cambiar contraseña de usuario de MySQL

$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.

Apoya al sitio

¿Mi artículo te ha resultado útil? haz una donación. También pudes suscribirte a mi boletín semanal en la parte de abajo

Relacionado:  OpenSSL en Windows - Generar crt y key para HTTPS

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 321 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: