Remove AuthService interface - Part of OIDC migration
- Delete AuthService.java (JWT-based authentication interface) - This interface is no longer needed with Keycloak OIDC authentication - Aligns with backend implementation migration to OIDC
This commit is contained in:
@@ -1,156 +0,0 @@
|
||||
package com.gbcm.server.api.interfaces;
|
||||
|
||||
import com.gbcm.server.api.dto.auth.LoginRequestDTO;
|
||||
import com.gbcm.server.api.dto.auth.LoginResponseDTO;
|
||||
import com.gbcm.server.api.dto.auth.PasswordResetDTO;
|
||||
import com.gbcm.server.api.dto.common.SuccessResponseDTO;
|
||||
import com.gbcm.server.api.dto.user.UserDTO;
|
||||
import com.gbcm.server.api.exceptions.AuthenticationException;
|
||||
import com.gbcm.server.api.exceptions.GBCMException;
|
||||
|
||||
import jakarta.validation.Valid;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
/**
|
||||
* Interface de service pour l'authentification et l'autorisation.
|
||||
* Fournit tous les endpoints nécessaires pour la gestion des sessions utilisateur,
|
||||
* l'authentification JWT et la réinitialisation des mots de passe.
|
||||
*
|
||||
* @author GBCM Development Team
|
||||
* @version 1.0
|
||||
* @since 1.0
|
||||
*/
|
||||
@Path("/auth")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@Tag(name = "Authentication", description = "Services d'authentification et autorisation GBCM")
|
||||
public interface AuthService {
|
||||
|
||||
/**
|
||||
* Connexion utilisateur
|
||||
*/
|
||||
@POST
|
||||
@Path("/login")
|
||||
@Operation(
|
||||
summary = "Connexion utilisateur",
|
||||
description = "Authentifie un utilisateur avec email et mot de passe"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Connexion réussie")
|
||||
@ApiResponse(responseCode = "401", description = "Identifiants invalides")
|
||||
@ApiResponse(responseCode = "400", description = "Données de requête invalides")
|
||||
LoginResponseDTO login(
|
||||
@Parameter(description = "Informations de connexion", required = true)
|
||||
LoginRequestDTO loginRequest
|
||||
) throws AuthenticationException, GBCMException;
|
||||
|
||||
/**
|
||||
* Déconnexion utilisateur
|
||||
*/
|
||||
@POST
|
||||
@Path("/logout")
|
||||
@Operation(
|
||||
summary = "Déconnexion utilisateur",
|
||||
description = "Invalide le token d'authentification"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Déconnexion réussie")
|
||||
@ApiResponse(responseCode = "401", description = "Token invalide")
|
||||
void logout(
|
||||
@Parameter(description = "Token d'authentification", required = true)
|
||||
@HeaderParam("Authorization") String authToken
|
||||
) throws AuthenticationException;
|
||||
|
||||
/**
|
||||
* Rafraîchissement du token
|
||||
*/
|
||||
@POST
|
||||
@Path("/refresh")
|
||||
@Operation(
|
||||
summary = "Rafraîchissement du token",
|
||||
description = "Génère un nouveau token d'authentification"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Token rafraîchi")
|
||||
@ApiResponse(responseCode = "401", description = "Token de rafraîchissement invalide")
|
||||
LoginResponseDTO refreshToken(
|
||||
@Parameter(description = "Token de rafraîchissement", required = true)
|
||||
@FormParam("refreshToken") String refreshToken
|
||||
) throws AuthenticationException;
|
||||
|
||||
/**
|
||||
* Validation du token
|
||||
*/
|
||||
@GET
|
||||
@Path("/validate")
|
||||
@Operation(
|
||||
summary = "Validation du token",
|
||||
description = "Vérifie la validité d'un token d'authentification"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Token valide")
|
||||
@ApiResponse(responseCode = "401", description = "Token invalide ou expiré")
|
||||
UserDTO validateToken(
|
||||
@Parameter(description = "Token d'authentification", required = true)
|
||||
@HeaderParam("Authorization") String authToken
|
||||
) throws AuthenticationException;
|
||||
|
||||
/**
|
||||
* Demande de réinitialisation de mot de passe
|
||||
*/
|
||||
@POST
|
||||
@Path("/forgot-password")
|
||||
@Operation(
|
||||
summary = "Mot de passe oublié",
|
||||
description = "Envoie un email de réinitialisation de mot de passe"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Email envoyé")
|
||||
@ApiResponse(responseCode = "404", description = "Utilisateur non trouvé")
|
||||
void forgotPassword(
|
||||
@Parameter(description = "Adresse email", required = true)
|
||||
@FormParam("email") String email
|
||||
) throws GBCMException;
|
||||
|
||||
/**
|
||||
* Réinitialisation du mot de passe
|
||||
*/
|
||||
@POST
|
||||
@Path("/reset-password")
|
||||
@Operation(
|
||||
summary = "Réinitialisation du mot de passe",
|
||||
description = "Réinitialise le mot de passe avec un token de réinitialisation"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Mot de passe réinitialisé")
|
||||
@ApiResponse(responseCode = "400", description = "Token invalide ou expiré")
|
||||
void resetPassword(
|
||||
@Parameter(description = "Token de réinitialisation", required = true)
|
||||
@FormParam("resetToken") String resetToken,
|
||||
@Parameter(description = "Nouveau mot de passe", required = true)
|
||||
@FormParam("newPassword") String newPassword
|
||||
) throws GBCMException;
|
||||
|
||||
/**
|
||||
* Changement de mot de passe
|
||||
*/
|
||||
@PUT
|
||||
@Path("/change-password")
|
||||
@Operation(
|
||||
summary = "Changement de mot de passe",
|
||||
description = "Change le mot de passe d'un utilisateur authentifié"
|
||||
)
|
||||
@ApiResponse(responseCode = "200", description = "Mot de passe changé")
|
||||
@ApiResponse(responseCode = "401", description = "Non autorisé")
|
||||
@ApiResponse(responseCode = "400", description = "Ancien mot de passe incorrect")
|
||||
void changePassword(
|
||||
@Parameter(description = "Token d'authentification", required = true)
|
||||
@HeaderParam("Authorization") String authToken,
|
||||
@Parameter(description = "Ancien mot de passe", required = true)
|
||||
@FormParam("oldPassword") String oldPassword,
|
||||
@Parameter(description = "Nouveau mot de passe", required = true)
|
||||
@FormParam("newPassword") String newPassword
|
||||
) throws AuthenticationException, GBCMException;
|
||||
}
|
||||
Reference in New Issue
Block a user