Nom : Amayas Bariz
- Mise en place d’un endpoint
/loginqui génère un **token ** signé à l’aide d’une clé secrète stockée dans.env. - Ce token contient l’
idde l’utilisateur et est valable pendant 2 heures. - Le token est envoyé dans les headers avec
Authorization: Bearer TOKEN.
- Création d’un middleware qui vérifie le token.
- Si le token est valide : on accède à la route.
- Si le token est absent ou invalide : retour
401ou403.
- Toutes les routes
GET,POST,PUT,DELETEconcernant les albums et photos sont protégées avec le middleware JWT.
- Ajout de
helmet()pour sécuriser les headers HTTP. - Configuration de
cors()pour accepter uniquement certaines origines et méthodes.
- Utilisation de
express-rate-limitpour limiter chaque IP à 100 requêtes par heure.
- Génération de certificats SSL (
cert.pem,key.pem) via OpenSSL. - Création d’un serveur HTTPS (
server-https.mjs) écoutant sur le port3443.
- Ajout d’un middleware
errorHandler.mjsqui capture et renvoie les erreurs propres, sans exposer les détails techniques.
- Utilisation de
curlpour tester les endpoints avec et sans token. - Validation que :
- sans token →
401 - token invalide →
403 - token valide →
200+ données protégées
- sans token →
L'API est maintenant sécurisée, authentifiée, et chiffrée. L'accès aux ressources sensibles est protégé et conforme aux bonnes pratiques.