Autenticación basada en tokens en Laravel




Autenticación basada en tokens en Laravel

La autenticación basada en tokens es un método para autenticar usuarios en APIs y aplicaciones web. En lugar de utilizar sesiones o cookies, se generan tokens que se envían con cada petición para verificar la identidad del usuario. Laravel proporciona varias herramientas para implementar la autenticación basada en tokens, siendo Laravel Sanctum una de las más populares.

Conceptos clave

  • Tokens de acceso: Cadenas de caracteres que representan la identidad del usuario.
  • Tokens de refresco: Se utilizan para obtener nuevos tokens de acceso sin requerir las credenciales del usuario.
  • Alcance de tokens: Permiten definir permisos específicos para cada token.
  • Revocación de tokens: Permite invalidar tokens para revocar el acceso.

La autenticación basada en tokens es ideal para APIs y aplicaciones de una sola página (SPAs), ya que proporciona un método seguro y flexible para autenticar usuarios sin mantener el estado en el servidor.


Ejemplo de autenticación basada en tokens con Laravel Sanctum

                // 1. Instalar Laravel Sanctum
                composer require laravel/sanctum

                // 2. Publicar la configuración y migraciones
                php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
                php artisan migrate

                // 3. Agregar el trait HasApiTokens al modelo User
                use Laravel\Sanctum\HasApiTokens;

                class User extends Authenticatable {
                    use HasApiTokens, ...;
                }

                // 4. Generar un token de acceso
                $token = $user->createToken('nombre-del-token')->plainTextToken;

                // 5. Proteger rutas con el middleware de Sanctum
                Route::middleware('auth:sanctum')->get('/ruta-protegida', function (Request $request) {
                    return $request->user();
                });
            



Publicar un comentario

0 Comentarios