Task 1.6 - Configuration application.properties

- Configuration complète de la sécurité GBCM (JWT, mots de passe, verrouillage)
- Profils dev, test, et production configurés
- Génération des clés RSA pour JWT
- Création de application-local.properties pour développement local
- Ajout de la dépendance H2 pour les profils dev et test
- Correction de User.getRoleString() pour Quarkus Security JPA
- Correction des endpoints @FormParam avec @Consumes dans AuthResource et UserResource
- Correction des données de test import.sql (ajout colonne deleted)
- Documentation complète dans CONFIGURATION.md
- Application démarre avec succès en mode dev
This commit is contained in:
dahoud
2025-10-06 21:34:59 +00:00
parent 5ec5e538cc
commit d82269c713
8 changed files with 205 additions and 19 deletions

View File

@@ -111,9 +111,17 @@ public class User extends BaseEntity {
@Enumerated(EnumType.STRING)
@Column(name = "role", nullable = false, length = 20)
@NotNull(message = "Le rôle est obligatoire")
@Roles
private UserRole role;
/**
* Rôle de l'utilisateur sous forme de String pour Quarkus Security JPA.
* Cette propriété est utilisée par le système de sécurité pour l'authentification.
*/
@Roles
public String getRoleString() {
return role != null ? role.name() : null;
}
/**
* Statut d'activation du compte utilisateur.
* true = compte actif, false = compte désactivé.

View File

@@ -165,6 +165,7 @@ public class AuthResource {
*/
@POST
@Path("/refresh")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Operation(
summary = "Rafraîchissement du token",
description = "Génère un nouveau token d'authentification à partir d'un refresh token"
@@ -257,6 +258,7 @@ public class AuthResource {
*/
@POST
@Path("/forgot-password")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Operation(
summary = "Mot de passe oublié",
description = "Envoie un email de réinitialisation de mot de passe à l'utilisateur"
@@ -300,6 +302,7 @@ public class AuthResource {
*/
@POST
@Path("/reset-password")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Operation(
summary = "Réinitialisation du mot de passe",
description = "Réinitialise le mot de passe avec un token de réinitialisation"
@@ -346,6 +349,7 @@ public class AuthResource {
*/
@PUT
@Path("/change-password")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Operation(
summary = "Changement de mot de passe",
description = "Change le mot de passe d'un utilisateur authentifié"

View File

@@ -368,6 +368,7 @@ public class UserResource {
*/
@PUT
@Path("/{id}/status")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@RolesAllowed({"ADMIN", "MANAGER"})
@Operation(
summary = "Changer le statut d'un utilisateur",