Usuario:ManuelRomero/Laravel/autentificacion/introduccion

–

Conceptos generales

 * La autentificación es otra de las muchas tareas comunes en cualquier aplicación que en el fondo no es parte de la aplicación sino un nivel de seguridad o compromiso que nuestra app pretende adoptar.
 * Laravel gestiona la autentificación en varios ficheros según vamos a ver a continuación.
 * Laravel nos ofrece la autentificación como un servicio.
 * Laravel tiene preconfigurada la autentificación la cual la podemos activar de manera sencilla.

Autentificación implementada en Laravel
config/auth.php
 * Fichero de configuración


 * Un listado de este fichero por defecto en la versión 5.2.32 (ver fichero en un proyecto para comentarios)

Activando la autentificación por defecto de laravel
Usamos la línea de comandos con artisan, creamos el módulo auth en nuestra aplicación

Protegiendo rutas

 * Establecer páginas o rutas, que solo se sirven si se está logueado.
 * Si tengo una ruta de una página
 * Si la quiero proteger con autentificación:

1.- Si está registrado  entrego la página solicitada 2.- Si no lo está le redirijo a una página de logueo para que se acredite o registre 2.-1 Cuando lo haga le doy paso a la página solicitada 3.- En caso de no autentificarse le doy una información de error. Entonces acceemos a nuestra app http://localhost:8000/register
 * La idea es usar un milddeware, entendido como un software intermedio entre la página que solicito y la que el servidor me entrega
 * De esta forma siempre que solicite una página que necesite estar registrado, antes de servirla voy a verificar si estoy o no registrado
 * Anteriormente (en veriones 4 o anterior), este concepto se conocía como filtro, ahora en esta versión se conoce como ya hemos comentado como Middleware.
 * La idea es antes de cargar una página que se verifica ver si el usuario está autentificado
 * La descripción algorítmica sería
 * En Laravel todo está preparado y configurado, para que con unas pequeñas acciones podamos adaptar esa configuración a nuestras necesidades. Bastaría con hacer las siguientes acciones como indican en la página de referencia

Gestionar los datos de la autentificacion
Entre otros campos debe contener
 * Por defecto tenemos un modelo llamado User con su tabla por defecto users
 * Esa tabla logicamente hay que construirla. Podemos hacerlo con migraciones.
 * campo remenber_token de 100 caracteres, permitiendo el valor nulo. Campo usado para recordar entre sesiones
 * Para incluir este campo con migraciones usaremos
 * Para gestionar la validación Laravel incluye el modelo app/User.php

Gestión de contraseñas
Hash::make('secret'); Hash::check('secret',$hashedPassword); if (Hash::needsRehash($hashed)) {   $hashed = Hash::make('secret'); }
 * make crear una contraseña
 * check validar una contraseña
 * Tengo que volver a hacer el hash de una contraseña