Laravel - Autenticación

La autenticación es el proceso de identificación de las credenciales del usuario. En las aplicaciones web, la autenticación se gestiona mediante sesiones que toman los parámetros de entrada como correo electrónico o nombre de usuario y contraseña, para la identificación del usuario. Si estos parámetros coinciden, se dice que el usuario está autenticado.

Mando

Laravel usa el siguiente comando para crear formularios y los controladores asociados para realizar la autenticación:

php artisan make:auth

Este comando ayuda a crear andamios de autenticación con éxito, como se muestra en la siguiente captura de pantalla:

Controlador

El controlador que se utiliza para el proceso de autenticación es HomeController.

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

class HomeController extends Controller{
   /**
      * Create a new controller instance.
      *
      * @return void
   */
   
   public function __construct() {
      $this->middleware('auth');
   }
   
   /**
      * Show the application dashboard.
      *
      * @return \Illuminate\Http\Response
   */
   
   public function index() {
      return view('home');
   }
}

Como resultado, la aplicación de andamio generada crea la página de inicio de sesión y la página de registro para realizar la autenticación. Son los que se muestran a continuación:

Iniciar sesión

Registro

Autenticar usuarios manualmente

Laravel usa el Authfachada que ayuda a autenticar manualmente a los usuarios. Incluye elattempt método para verificar su correo electrónico y contraseña.

Considere las siguientes líneas de código para LoginController que incluye todas las funciones para la autenticación -

<?php

// Authentication mechanism
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;

class LoginController extends Controller{
   /**
      * Handling authentication request
      *
      * @return Response
   */
   
   public function authenticate() {
      if (Auth::attempt(['email' => $email, 'password' => $password])) {
      
         // Authentication passed...
         return redirect()->intended('dashboard');
      }
   }
}