Skip to main content

Qu’est-ce que Passport

Laravel Passport est le package officiel qui permet à une application Laravel de fonctionner comme un serveur d’autorisation OAuth2. Il est utilisé pour l’intégration d’applications tierces ou pour les API qui nécessitent un flux OAuth2 strict.

Passport vs Sanctum

Si OAuth2 est indispensable, choisissez Passport. Si vous cherchez simplement une authentification par token d’API ou pour une SPA / mobile, choisissez Sanctum.

Installation

La recommandation officielle sous Laravel 13 est install:api --passport.
Pour une installation manuelle dans un projet existant, ces commandes fonctionnent aussi.
Lors du premier déploiement, il peut être utile de ne générer que les clés.

Configuration

Modèle User

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

Garde d’authentification

Dans config/auth.php, utilisez le driver passport pour la garde api.

Configuration du service provider

Dans la méthode boot() de AppServiceProvider, vous pouvez définir les portées et la durée de vie des tokens.

Gestion des clients

Client pour l’authorization code grant

Ce type de client s’utilise dans le flux OAuth2 standard avec écran de consentement utilisateur.

Client pour le client credentials grant

Pour les endpoints de communication de machine à machine, utilisez le middleware EnsureClientIsResourceOwner.

Gestion des tokens

Attribution de portées

Vérification des portées

Révocation

Protection des routes API

Pour protéger une API avec un access token d’utilisateur, ajoutez auth:api.
Pour les routes utilisant le client credentials grant, utilisez EnsureClientIsResourceOwner et non auth:api.

Personal Access Token

Adapté aux cas où l’utilisateur émet lui-même son token d’API, sans passer par le flux OAuth2 complet.
Si votre usage principal est le Personal Access Token, la documentation officielle Laravel recommande de considérer Sanctum.

Liens associés

Dernière modification le 13 juillet 2026