✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Sistema de registro e inicio de sesión de usuario en Laravel

311

Laravel proporciona un sistema integrado de registro e inicio de sesión de usuario. La mayoría de los desarrolladores no conocen este sistema integrado (yo también fui uno de ellos). Cuando me enteré de esta función, me sorprendió. Ahorra mucho tiempo al crear un sistema de inicio de sesión y registro desde cero.

En este artículo, estudiamos el registro de usuarios y el sistema de inicio de sesión en Laravel, la función incorporada proporcionada por Laravel.

Como todos sabemos, el proceso de inicio de sesión y registro tiene el siguiente flujo que generalmente debe integrarse.

  • El usuario crea una cuenta
  • El enlace de confirmación se enviará a la dirección de correo electrónico del usuario.
  • Una vez que el usuario hace clic en el enlace de confirmación, se activan en su sistema.
  • El usuario inicia sesión en su sitio web y puede acceder a las páginas

Todos los pasos anteriores están cubiertos en Laravel. No es necesario escribir un código para construir este sistema de creación de usuarios.

Dicho esto, echemos un vistazo al registro de usuario y al sistema de inicio de sesión en Laravel.

Empezando

Para comenzar, debe estar listo con el proyecto Laravel. Si no lo tiene, créelo ejecutando el comando:

composer create-project --prefer-dist laravel/laravel laravel-dev

Aquí ‘laravel-dev’ es el nombre del proyecto Laravel. El usuario puede cambiar este nombre.

A continuación, debe integrar la autenticación de Laravel. Dirígete al directorio raíz del proyecto en la terminal y ejecuta los siguientes comandos uno por uno:

composer require laravel/ui --dev
php artisan ui vue --auth
npm install && npm run dev

Estos comandos crearán controladores de autenticación como LoginController.php, RegisterController.php, etc, que se encuentra en el app/Http/Controllers/Authdirectorio. También crea vistas login.blade.php, register.blade.phpen resources/view/authdirectorio.

Los comandos anteriores también crean un app.blade.phparchivo en el resources/views/layoutsdirectorio. Esta vista es un diseño básico para la aplicación. Utiliza el framework Bootstrap CSS pero el usuario puede personalizarlo y cambiar el diseño.

Ejecute el comando de migración que creará una tabla de ‘usuarios’ en su base de datos.

php artisan migrate

Ahora, si ejecuta el proyecto Laravel en el navegador, verá los enlaces para el formulario de inicio de sesión y registro.

Sistema de registro e inicio de sesión de usuario en Laravel

En esta etapa, los usuarios pueden crear su cuenta e iniciar sesión en el sitio web. Pero como mencioné anteriormente, antes de que un usuario pueda acceder al sistema, debería haber confirmado su cuenta.

En el siguiente paso veremos cómo realizar el proceso de verificación de correo electrónico de un usuario.

verificacion de email

Al crear un sistema de registro, cuando el usuario se registra, envía un enlace de activación a los usuarios. Este enlace de activación se utilizará para verificar la cuenta de usuario. Una vez que el usuario hace clic en un enlace de activación, lo activamos. En otras palabras, después de verificar la cuenta, el usuario puede navegar por las páginas de su aplicación.

Laravel proporciona un sistema integrado del proceso de verificación de correo electrónico para un usuario recién registrado. Con este sistema, un usuario registrado recibirá un correo electrónico con un enlace de activación. Al activar la cuenta, el usuario podrá acceder al sistema.

Abra el AppUser.phparchivo y asegúrese de que el modelo ‘Usuario’ implemente el IlluminateContractsAuthMustVerifyEmailcontrato.

<?php
 
namespace App;
 
use IlluminateContractsAuthMustVerifyEmail;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateNotificationsNotifiable;
 
class User extends Authenticatable implements MustVerifyEmail
{
    ...
    ...
}

¿Como funciona? Si comprueba el archivo de migración, la tabla ‘usuarios’ contiene una email_verified_atcolumna. Esta columna se utilizará para verificar si el usuario ha activado su cuenta o no. Si la cuenta está activada, esta columna debe tener la fecha y hora de activación.

Cuando ejecuta el comando de autenticación, crea una AuthVerificationControllerclase que tiene lógica escrita para enviar enlaces de verificación y verificar correos electrónicos. El desarrollador puede comprobar este archivo. Para registrar las rutas necesarias para este controlador, escriba las siguientes rutas en el routes/web.phparchivo.

Auth::routes(['verify' => true]);

El usuario puede proteger sus rutas que deberían estar detrás del inicio de sesión. Para proteger las rutas, debe aplicar middleware('verified')a esas rutas. Después de esto, solo las cuentas verificadas pueden acceder a estas rutas protegidas.

Puede escribir el código para proteger la ruta de la siguiente manera:

Route::get('profile', function() {
    return '<h1>This is profile page</h1>';
})->middleware('verified');

Si desea tener el control de dónde redirigir al usuario después de la verificación, abra el AuthVerificationControllerarchivo. El archivo tiene la variable $redirectToque se utilizará para la redirección. Cambie esta ruta según sus necesidades.

protected $redirectTo = '/home';

Inicio de sesión y registro de usuario

Ahora está listo para probar el sistema de inicio de sesión y registro de usuario. Como nos ocupamos del proceso de registro, su sistema debería poder enviar un correo electrónico. Puede utilizar el servidor SMTP de Gmail para enviar correos electrónicos. Para obtener más detalles, lea nuestro artículo Envío de correo electrónico a través del servidor SMTP de Gmail en Laravel.

Inicie el servidor de desarrollo local con el comando:

php artisan serve

Cree una cuenta de usuario en la página de registro aquí: http: // localhost: 8000 / register

Sistema de registro e inicio de sesión de usuario en Laravel

Al enviar un formulario, recibirá el enlace de verificación en su correo electrónico de la siguiente manera:

Sistema de registro e inicio de sesión de usuario en Laravel

Tenga en cuenta que Laravel le permite iniciar sesión en su cuenta incluso si aún no ha verificado la cuenta. Pero no puede acceder a la ruta protegida.

He agregado middleware para la ruta profile. Sin verificar la cuenta, si intenta visitar la página http: // localhost: 8000 / profile, se redireccionará a la URL http: // localhost: 8000 / email / verify.

Sistema de registro e inicio de sesión de usuario en Laravel

Continúe y verifique su cuenta. Verifique la tabla de ‘usuarios’ en la base de datos y verá una email_verified_atcolumna llena con la fecha y hora de activación. Significa que ha verificado su cuenta correctamente. Ahora debería poder acceder a rutas protegidas.

Espero que entiendas cómo usar el registro de usuario y el sistema de inicio de sesión en Laravel. Comparta sus pensamientos y sugerencias en el comentario a continuación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More