API-beveiliging is geen afterthought. Of je nu een mobiele app koppelt of een SPA bouwt, je authenticatielaag moet solide zijn. Laravel Sanctum biedt een lichtgewicht maar krachtige oplossing.

Wat is Laravel Sanctum?

Sanctum is Laravel’s officiële authenticatiepakket voor twee use cases:

  1. API token authenticatie: voor mobiele apps en third-party API-consumers
  2. SPA authenticatie: voor first-party JavaScript-frontends via cookies

Het is eenvoudiger dan Passport (geen OAuth2 overhead) maar krachtiger dan een zelfgebouwde tokenoplossing.

Token authenticatie voor APIs

Genereer persoonlijke access tokens voor gebruikers:

$token = $user->createToken('mobile-app')->plainTextToken;

De client stuurt dit token als Bearer token mee:

Authorization: Bearer 1|abc123...

Je beschermt routes met de sanctum middleware:

Route::middleware('auth:sanctum')->group(function () {
    Route::get('/user', fn() => auth()->user());
});

Token abilities

Beperk wat een token kan doen:

$token = $user->createToken('read-only', ['read:orders'])->plainTextToken;

Controleer in je controller:

if ($request->user()->tokenCan('write:orders')) { ... }

SPA authenticatie

Voor een Laravel + Vue/React combinatie gebruik je cookie-gebaseerde authenticatie. Na login via /sanctum/csrf-cookie en /login is de gebruiker geauthenticeerd via een session cookie. Veiliger dan tokens voor browser-applicaties.

Productie best practices

  • Gebruik HTTPS — altijd
  • Stel tokenvervaldatum in: createToken('name', expiresAt: now()->addDays(30))
  • Verwijder tokens bij logout
  • Beperk token abilities tot wat nodig is
  • Monitor actieve tokens via het dashboard

Integratie met API-koppelingen

Bij Meesy gebruiken we Sanctum standaard voor API integratie en maatwerk applicaties met externe clients. De eenvoud en betrouwbaarheid zijn ongeklopt in het Laravel-ecosysteem.

Conclusie

Sanctum is de juiste keuze voor de meeste Laravel API-projecten. Correct geconfigureerd biedt het robuuste beveiliging zonder de complexiteit van OAuth2. Wil je een veilige API laten bouwen? Neem contact op met Meesy.

Heb je vragen over dit onderwerp of wil je samenwerken?

Neem contact op