Laravel Sanctum

Laravel Sanctum oferece uma solução leve para autenticação de APIs. É perfeito para SPAs e aplicações mobile.

Configuração

Primeiro, instale e configure o Sanctum:

composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

Middleware

// routes/api.php
Route::middleware('auth:sanctum')->group(function () {
    Route::get('/user', function (Request $request) {
        return $request->user();
    });
    
    Route::apiResource('posts', PostController::class);
});

Geração de Token

// Login Controller
$user = User::where('email', $request->email)->first();

if ($user && Hash::check($request->password, $user->password)) {
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
}