Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
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