Passer au contenu principal

Gestion des sessions

Créer une session - /api/session​

  • Point de terminaison : /api/session

  • Méthode : POST

  • Description : Crée une nouvelle session pour l'utilisateur.

  • Réponse :

    {
    "sessionId": "session-id-string",
    "message": "Session created successfully"
    }
  • Réponses d'erreur :

    • 500 : Échec de la création de la session
  • Notes :

    • Crée une nouvelle session avec une expiration de 24 heures
    • Définit un cookie de session HTTP-only
    • Requis pour accéder aux points de terminaison protégés

Valider la session - /api/session​

  • Point de terminaison : /api/session

  • Méthode : GET

  • Description : Valide une session existante.

  • Réponse (valide) :

    {
    "valid": true,
    "sessionId": "session-id-string"
    }
  • Réponse (invalide) :

    {
    "valid": false,
    "error": "No session cookie"
    }
  • Réponses d'erreur :

    • 401 : Aucun cookie de session ou identifiant de session
    • 500 : Échec de validation de la session
  • Notes :

    • Vérifie si le cookie de session existe et est valide
    • Retourne l'identifiant de session s'il est valide

Supprimer la session - /api/session​

  • Point de terminaison : /api/session

  • Méthode : DELETE

  • Description : Supprime la session actuelle (déconnexion).

  • Réponse :

    {
    "message": "Session deleted successfully"
    }
  • Réponses d'erreur :

    • 500 : Échec de suppression de la session
  • Notes :

    • Efface la session du serveur et du client
    • Supprime le cookie de session

Obtenir un jeton CSRF - /api/csrf​

  • Point de terminaison : /api/csrf

  • Méthode : GET

  • Description : Génère un jeton CSRF pour la session actuelle.

  • Réponse :

    {
    "csrfToken": "csrf-token-string",
    "message": "CSRF token generated successfully"
    }
  • Réponses d'erreur :

    • 401 : Aucune session trouvée ou session invalide/expirée
    • 500 : Échec de génération du jeton CSRF
  • Notes :

    • Nécessite une session valide
    • Le jeton CSRF est requis pour toutes les opérations modifiant l'état
    • Le jeton est lié à la session actuelle