Authentification
Statut
Document de cadrage backend — v1.0 — relu le 2026-05-10.
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
/api/v1/auth/exchange,/api/v1/auth/me,/api/v1/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.