Cos’è Passport
Laravel Passport è il pacchetto ufficiale che fa funzionare un’app Laravel come server di autorizzazione OAuth2. Si usa per integrazioni con app di terze parti o per API che richiedono un flusso OAuth2 rigoroso.Passport vs Sanctum
Se ti serve OAuth2, scegli Passport. Per una semplice autenticazione a token API o per autenticazione SPA/mobile, scegli Sanctum.Per costruire un server MCP accessibile da client AI, ufficialmente è raccomandato Passport, poiché i client MCP presuppongono di norma l’autenticazione OAuth.
Installazione
In Laravel 13, l’installazione ufficiale consigliata èinstall:api --passport.
Configurazione
Modello User
Aggiungi al modelloUser il trait HasApiTokens e l’interfaccia OAuthenticatable.
Guard auth
Nel guardapi di config/auth.php usa il driver passport.
Configurazione del service provider
Nelboot() di AppServiceProvider puoi definire scope e scadenze dei token.
Gestione dei client
Client per authorization code grant
Client per client credentials grant
EnsureClientIsResourceOwner.
Gestione dei token
Assegnare scope
Verifica degli scope
Revoca
Protezione delle route API
Applicaauth:api alle API protette da un access token utente.
Personal Access Token
Utile quando non ti serve il flusso OAuth2 completo e vuoi permettere all’utente di generarsi da solo un token API.Se il tuo caso d’uso principale sono i Personal Access Token, anche la documentazione ufficiale suggerisce di valutare Sanctum.