diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java index f5966b9..4555fc6 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java @@ -42,6 +42,9 @@ public class KeycloakService { @ConfigProperty(name = "keycloak.realm") String realm; + @ConfigProperty(name = "email.enabled") + boolean enabled_email; + @Inject Vertx vertx; @@ -215,9 +218,12 @@ public class KeycloakService { return getUser(login).orElseThrow( () -> new KeycloakException("Fail to fetch user %s".formatted(finalLogin))); }) - //.invoke(user -> keycloak.realm(realm).users().get(user.getId()) // TODO enable for production - // .executeActionsEmail(List.of(RequiredAction.VERIFY_EMAIL.name(), - // RequiredAction.UPDATE_PASSWORD.name()))) + .invoke(user -> { + if (enabled_email) + keycloak.realm(realm).users().get(user.getId()) + .executeActionsEmail(List.of(RequiredAction.VERIFY_EMAIL.name(), + RequiredAction.UPDATE_PASSWORD.name())); + }) .invoke(user -> membreModel.setUserId(user.getId())) .call(user -> membreService.setUserId(membreModel.getId(), user.getId())) .call(user -> setClubGroupMembre(membreModel, membreModel.getClub())); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 90c91bd..ee898d3 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -26,6 +26,8 @@ quarkus.oidc.roles.source=accesstoken quarkus.http.limits.max-body-size=10M +email.enabled=false + database.prefix = test2_ database.database=ffsaf database.hostname=localhost