Als je een API bouwt met Laravel, kom je onvermijdelijk op de vraag: gebruik ik Sanctum of Passport? Beide packages regelen authenticatie, maar voor heel verschillende use cases. We leggen het verschil uit aan de hand van concrete situaties.

Laravel Sanctum: lichtgewicht en snel

Sanctum is de standaardkeuze voor de meeste Laravel-projecten. Het ondersteunt twee flows: token-based authenticatie voor mobiele apps of standalone API-clients, en cookie-based authenticatie voor SPA’s (single-page applications op hetzelfde domein).

Installatie is eenvoudig:

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

Tokens aanmaken:

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

Sanctum is ideaal als je een eigen frontend hebt (Vue, React, Inertia) of een mobiele app die communiceert met jouw Laravel-backend.

Laravel Passport: OAuth2 voor externe partijen

Passport implementeert een volledige OAuth2-server. Je hebt het nodig als:

  • Externe partijen toegang moeten krijgen tot jouw API via een gestandaardiseerd OAuth-flow
  • Je authorization_code grants, client_credentials of implicit grants nodig hebt
  • Je een platform bouwt waar derde partijen namens gebruikers kunnen handelen

Passport is complexer om op te zetten maar geeft je een productie-klare OAuth2-server.

Wanneer wat kiezen?

SituatieKies
Eigen frontend (React/Vue/Inertia)Sanctum (cookie)
Mobiele appSanctum (token)
Public API voor derdenPassport
Eenvoudige machine-to-machineSanctum (token)
OAuth2 authorization code flowPassport

Veelgemaakte fout: Passport waar Sanctum volstaat

Veel developers grijpen automatisch naar Passport omdat het “professioneler” klinkt. Maar voor de meeste projecten is Sanctum meer dan genoeg — en een stuk eenvoudiger te onderhouden.

Conclusie

Voor nieuwe projecten beginnen we standaard met Sanctum. Heb je een maatwerk applicatie nodig met een externe API of OAuth2-integraties? Dan kijken we of Passport de juiste keuze is. Neem contact op via onze Laravel ontwikkeling pagina voor meer info.

Heb je vragen over dit onderwerp of wil je samenwerken?

Neem contact op