Module d'entrée de la plateforme. Gère l'inscription multi-profils, la connexion, la vérification d'email par code à 6 chiffres, les tokens Sanctum, et la réinitialisation de mot de passe. Taux limite appliqué sur les endpoints sensibles.
Le client remplit le formulaire d'inscription : nom, prénom, email, mot de passe, et choisit son type de profil (client, artisan, société partenaire).
POST /api/v1/auth/registerRate limit: 3/60s TypeUtilisateur: client | artisan | societe_partenaireScénario : Kofi, artisan menuisier à Cotonou, s'inscrit avec son email professionnel. Il reçoit immédiatement un token Bearer et peut commencer à utiliser l'API. Son compte est créé mais son email n'est pas encore vérifié.
Un code de vérification à 6 chiffres est envoyé par email. L'utilisateur le soumet pour vérifier son adresse. Un nouveau code peut être demandé si nécessaire.
POST /api/v1/auth/email/send-codePOST /api/v1/auth/email/verifyPOST /api/v1/auth/email/resend-code StatutUtilisateur: actif (après vérification)Scénario : Kofi reçoit un email avec le code 482731. Il le soumet via l'endpoint de vérification. Son champ email_verified_at est maintenant renseigné. Il peut accéder à toutes les fonctionnalités.
L'utilisateur se connecte avec son email et mot de passe. Un token Sanctum lui est délivré, accompagné de ses informations de profil.
POST /api/v1/auth/loginRate limit: 5/60sScénario : Kofi revient le lendemain. Il se connecte avec son email et mot de passe. Il reçoit un token Bearer et ses données complètes (profil, statut, photo).
L'utilisateur peut consulter son profil à tout moment avec son token actif.
GET /api/v1/auth/meScénario : Kofi veut vérifier ses informations. Il appelle GET /me avec son token. Il voit son nom, email, type_utilisateur = 'artisan', et son statut.
L'utilisateur demande un code de réinitialisation sur son email, puis soumet le code avec son nouveau mot de passe.
POST /api/v1/auth/forgot-passwordPOST /api/v1/auth/reset-passwordScénario : Kofi a oublié son mot de passe. Il demande un code via forgot-password. Il reçoit le code par email, le soumet avec son nouveau mot de passe sur reset-password.
L'utilisateur révoque son token actuel. Le token n'est plus valide pour les requêtes suivantes.
POST /api/v1/auth/logoutScénario : Kofi termine sa session sur un appareil partagé. Il appelle logout, son token est révoqué. Plus personne ne peut utiliser sa session.