Skill: Authentification & Accès
Utilise ce skill pour toute tâche liée à l’authentification, aux rôles et aux permissions.
Quand l’utiliser
- •Création des endpoints
register,login,refresh,logout,forgot-password,reset-password - •Mise en place JWT access token court + refresh token en cookie httpOnly
- •Contrôle d’accès par rôles
SUPER_ADMIN,CABINET_ADMIN,COLLABORATEUR,CLIENT - •Invitation collaborateur/client par email avec token signé à durée limitée
Règles d’implémentation
- •Préfixer les routes avec
/api/v1. - •Réponse API uniforme:
- •Succès:
{ success: true, data, meta? } - •Erreur:
{ success: false, error: { code, message } }
- •Succès:
- •Access token: durée courte (ex. 15 min), refresh token longue durée (ex. 30 jours).
- •Stocker le refresh token en cookie
httpOnly,secure,sameSite. - •Valider toutes les entrées avec Zod avant logique métier.
- •Vérifier les permissions à deux niveaux: middleware de route + service.
- •Journaliser les actions sensibles (
auth.login,auth.reset-password,auth.invite).
Flux attendus
- •Inscription cabinet: crée organisation + admin cabinet atomiquement.
- •Connexion: retourne access token, pose cookie refresh, met à jour
lastLoginAt. - •Refresh: vérifie token, rotation du refresh token, invalide ancien.
- •Invitation: génère token 48h, email sécurisé, activation compte au premier login.
- •Reset password: token one-time, expiration stricte, invalidation post-usage.
Points de sécurité
- •Rate limit renforcé sur endpoints auth.
- •Hash de mot de passe avec
bcryptjs. - •Messages d’erreur non verbeux (éviter l’énumération d’emails).
- •Invalidation des sessions à la déconnexion.
Exemples de demandes
- •« Ajoute l’endpoint
/api/v1/auth/refreshavec rotation du refresh token » - •« Implémente un middleware RBAC pour limiter la validation d’écritures »
- •« Crée le flux invitation client avec lien expirant 48h »