Skip to main content

Wat is Passport

Laravel Passport is het officiële pakket om je Laravel-app als OAuth2-autorisatieserver te laten werken. Je gebruikt het voor integraties met apps van derden of voor API’s die een strikte OAuth2-flow vereisen.

Passport vs Sanctum

Is OAuth2 een vereiste, kies dan Passport. Gaat het je om eenvoudige API-tokenauthenticatie of SPA-/mobiele authenticatie, kies dan Sanctum.
Als je een MCP-server bouwt die door AI-clients wordt benaderd, wordt officieel aanbevolen Passport te gebruiken. MCP-clients gaan namelijk doorgaans uit van authenticatie via OAuth.

Installatie

De officiële aanbeveling in Laravel 13 is install:api --passport.
Wil je het handmatig toevoegen aan een bestaand project, dan kun je het ook zo opzetten:
Bij de eerste deployment wil je soms alleen de sleutels genereren.

Configuratie

Het User-model

Voeg de HasApiTokens-trait en de OAuthenticatable-interface toe aan het User-model.

De auth-guard

Gebruik de passport-driver in de api-guard van config/auth.php.

Serviceproviderconfiguratie

In de boot() van de AppServiceProvider kun je scopedefinities en de geldigheidsduur van tokens instellen.

Clientbeheer

Client voor de authorization code grant

Deze client gebruik je voor de standaard OAuth2-flow met een toestemmingsscherm voor de gebruiker.

Client voor de client credentials grant

Voor endpoints voor machine-naar-machinecommunicatie gebruik je de EnsureClientIsResourceOwner-middleware.

Tokenbeheer

Scopes toekennen

Scopes controleren

Intrekken

API-routes beveiligen

Voorzie API’s die je beveiligt met gebruikers-access-tokens van auth:api.
Gebruik voor routes met de client credentials grant niet auth:api, maar EnsureClientIsResourceOwner.

Personal access tokens

Geschikt voor situaties waarin gebruikers zelf API-tokens uitgeven, zonder de volledige OAuth2-flow te gebruiken.
Als personal access tokens je hoofddoel zijn, wordt ook door Laravel zelf aanbevolen om Sanctum te overwegen.
Laatst gewijzigd op 6 september 2026