Instalar Laravel Sanctum

Clase 5 de 33Curso Avanzado de Laravel

Este paquete proporciona un sistema de autenticación ligero para SPA (aplicaciones de una sola página), aplicaciones móviles y API simples basadas en tokens.

Se puede instalar Laravel Sanctum usando composer en la terminal:

composer require laravel/sanctum

Luego se puede publicar el archivo de configuración, ejecutando:

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

Esto va a crear un archivo llamado sanctum.php en la carpeta config.

Finalmente, para tener las tablas que se necesitan en la base de datos para guardar los tokens. se usan:

php artisan migrate

A continuación, si se planea utilizar Sanctum para autenticar un SPA, debe agregar el middleware de Sanctum a su grupo de middleware api dentro de su archivo app/Http/Kernel.php:

use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful; 'api' => [ EnsureFrontendRequestsAreStateful::class, 'throttle:60,1', \Illuminate\Routing\Middleware\SubstituteBindings::class, ],

Para comenzar a emitir tokens a los usuarios, su mel modelo debe usar el trait HasApiTokens:

use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { use HasApiTokens, Notifiable; }

Para proteger nuestras rutas es tan simple como agregar un middleware.

Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return $request->user(); });

Con esto cada vez que ingresemos a esa ruta tendremos que enviar

Afortunadamente, la documentación de Laravel es bastante completa y dentro de ella podremos encontrar mas posibilidades que nos ofrece Sanctum: https://laravel.com/docs/8.x/sanctum