Aller 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 endpoints 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"
    }
  • Response (invalide):

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

    • 401: Aucun cookie de session ou identifiant de session
    • 500: Échec de la 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 la suppression de la session
  • Notes:

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

Obtenir le jeton CSRF - /api/csrf

  • Point de terminaison : /api/csrf

  • Méthode : GET

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

  • 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 la 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 associé à la session actuelle