Authentification
Statut
Document de cadrage backend — version initiale.
Vue d'ensemble
L'authentification backend repose sur Laravel Sanctum et une intégration avec les tokens Supabase visibles dans le module Identity.
Le service SupabaseTokenService valide les JWT Supabase avec firebase/php-jwt.
État actuel visible
- Dépendance
laravel/sanctum. - Dépendance
firebase/php-jwt. - Routes
auth/exchange,auth/me,auth/logout. - Middleware
auth:sanctumutilisé sur les routes protégées. - Service de décodage JWT Supabase.
- Profils applicatifs dans le domaine
Identity.
Flux cible
Un flux d'authentification peut suivre cette logique :
- L'utilisateur s'authentifie via le système front.
- Le token Supabase est échangé ou validé côté API.
- L'API émet ou utilise un token compatible Sanctum.
- Les routes protégées utilisent
auth:sanctum. - Les rôles applicatifs sont vérifiés séparément.
Le détail exact doit rester aligné avec l'implémentation du module Identity.
Sources applicatives
Les routes protégées par contexte applicatif utilisent aussi identify.app, qui exige X-App-Source.
Sources acceptées :
dmvbackofficeplayloopassosuitemairie
Principes
- Ne pas confondre rôle Supabase
authenticatedet rôles métier DMV. - Ne jamais exposer les secrets JWT.
- Ne pas faire confiance au frontend pour les droits.
- Garder les réponses d'erreur JSON.
- Séparer authentification et autorisation.
Points à clarifier
- Cycle de vie complet des tokens.
- Expiration et révocation.
- Authentification des devices PlayLoop.
- Auth multi-applications côté frontend.
- Transition entre Supabase Auth et Sanctum à documenter finement.