Skip to main content

Qu’est-ce que Passport ?

Laravel Passport est le package officiel qui transforme une application Laravel en serveur d’autorisation OAuth2. Utilisez-le pour les intégrations avec des applications tierces ou pour les API qui doivent respecter strictement le flux OAuth2.

Passport vs Sanctum

Choisissez Passport si OAuth2 est indispensable. Pour une authentification API simple ou pour du SPA / mobile, préférez Sanctum.
Pour un serveur MCP auquel un client d’IA se connecte, la documentation officielle recommande Passport, car les clients MCP supposent en général une authentification par OAuth.

Installation

La méthode officielle recommandée avec Laravel 13 est install:api --passport.
Pour l’ajouter à un projet existant, la configuration manuelle fonctionne également.
À l’occasion du premier déploiement, vous voudrez peut-être ne générer que les clés.

Configuration

Modèle User

Ajoutez le trait HasApiTokens et l’interface OAuthenticatable au modèle User.

Guard auth

Dans config/auth.php, faites utiliser le driver passport à la guard api.

Configuration côté service provider

Vous pouvez définir les scopes et la durée de vie des tokens dans la méthode boot() de AppServiceProvider.

Gestion des clients

Client pour Authorization Code Grant

Ce client est destiné au flux OAuth2 standard qui inclut un écran de consentement utilisateur.

Client pour Client Credentials Grant

Pour un endpoint de communication machine à machine, utilisez le middleware EnsureClientIsResourceOwner.

Gestion des tokens

Attribuer des scopes

Vérifier un scope

Révocation

Protection des routes d’API

Pour protéger une API avec un access token utilisateur, appliquez auth:api.
Pour les routes en Client Credentials Grant, utilisez EnsureClientIsResourceOwner et non auth:api.

Personal Access Token

Adapté quand l’utilisateur émet lui-même un token API sans passer par le flux OAuth2 complet.
Si votre besoin principal reste le Personal Access Token, Laravel recommande officiellement d’envisager Sanctum.

Liens associés

Dernière modification le 2 août 2026