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:
dahoud
2025-10-07 20:44:30 +00:00
parent e5aad77409
commit 151b55ae70

View File

@@ -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;
}