Skip to content

Repository files navigation

openapi: 3.1.0
info:
  title: authentificate-api
  description: API d'authentification qui interroge user.api pour valider un login, génère un token et le vérifie sur les routes sécurisées.
  version: 1.0.0

servers:
  - url: https://authentificate.com/api
    description: Serveur de production

  - url: http://localhost:11062
    description: Serveur de développement local

paths:
  /auth/login:
    post:
      summary: Connexion utilisateur
      description: |
        Reçoit pseudo/mdp, appelle user.api en GET pour vérifier l'existence du compte
        avec ces informations, puis crée un token si le compte existe.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
      responses:
        '200':
          description: Utilisateur trouvé, token créé.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponse'
        '404':
          description: Utilisateur non trouvé (pseudo/mot de passe invalides).

  /auth/verify-token:
    get:
      summary: Vérification de token
      description: Vérifie qu'un token existe encore et que son expiration est supérieure à l'heure actuelle.
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Token JWT à vérifier.
          schema:
            type: string
            example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
      responses:
        '200':
          description: Token valide.
        '401':
          description: Token inconnu, invalide ou expiré.

  /auth/logout:
    delete:
      summary: Déconnexion utilisateur
      description: Supprime le token correspondant de la base des tokens actifs.
      parameters:
        - name: Authorization
          in: header
          required: true
          description: Token à invalider/supprimer.
          schema:
            type: string
            example: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
      responses:
        '204':
          description: Token supprimé, déconnexion effectuée.
        '401':
          description: Token inconnu ou header invalide.

components:
  schemas:
    LoginRequest:
      type: object
      required:
        - pseudo
        - mdp
      properties:
        pseudo:
          type: string
          description: Pseudo unique de l'utilisateur.
          example: bosswasa
        mdp:
          type: string
          description: Mot de passe de l'utilisateur.
          example: password

    AuthResponse:
      type: object
      required:
        - pseudo
        - role
        - token
        - expiresIn
      properties:
        pseudo:
          type: string
          description: Pseudo unique de l'utilisateur authentifié.
          example: bosswasa
        role:
          type: string
          description: Rôle récupéré depuis user.api.
          example: U | A
        token:
          type: string
          description: Token JWT généré par l'API.
        expiresIn:
          type: integer
          description: Durée de validité du token en secondes.
          example: 10800

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages