refactor: use authorization headers for authentification
L'utilisation des cookies empêchait le déploiement correct du client et du serveur. L'approche par jeton à travers les en-têtes d'authentification a été utilisée.
Ajouts
- Client: utilisation d'un intercepteur pour gérer le rafraichissement des jetons automatique.
- Client: service de gestion des jetons (CredentialsService). Utilise localStorage pour stocker le jeton de rafraichissement.
- Serveur: La librairie PassportJS a été utilisée pour gérer la lecture des jetons d'accès et de rafraichissement. Cela simplifie le service d'authentification et permettra d'ajouter d'autres méthodes d'authentification plus facilement.
Modifications
- La route
/api/auth/logout
a été enlevée parce que le client lui-même gère ses jetons. Lors de la déconnexion, localStorage est vidé. - Le décorateur
RequireRoles
remplace les gardes qui étaient placés sur les contrôleurs. Cela permet d'ajouter les métadonnées, gardes et métadonnées OpenAPI avec un seul décorateur.
Conséquences
- L'authentification par en-têtes. Cela permet au déploiement de fonctionner correctement.