91 lines
4.6 KiB
Properties
91 lines
4.6 KiB
Properties
# Configuration UnionFlow Client
|
|
quarkus.application.name=unionflow-client
|
|
quarkus.application.version=1.0.0
|
|
|
|
# Configuration HTTP
|
|
quarkus.http.port=8086
|
|
quarkus.http.host=0.0.0.0
|
|
quarkus.http.root-path=/
|
|
quarkus.http.so-reuse-port=true
|
|
quarkus.http.tcp-quick-ack=true
|
|
quarkus.http.tcp-cork=true
|
|
|
|
# Configuration logging
|
|
quarkus.log.console.enable=true
|
|
quarkus.log.console.level=INFO
|
|
quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{2.}] (%t) %s%e%n
|
|
|
|
# Configuration Backend UnionFlow
|
|
unionflow.backend.url=${UNIONFLOW_BACKEND_URL:http://localhost:8085}
|
|
|
|
# Configuration REST Client
|
|
quarkus.rest-client."unionflow-api".url=${unionflow.backend.url}
|
|
quarkus.rest-client."unionflow-api".scope=jakarta.inject.Singleton
|
|
quarkus.rest-client."unionflow-api".connect-timeout=5000
|
|
quarkus.rest-client."unionflow-api".read-timeout=30000
|
|
|
|
# Gestion des erreurs REST (JwtClientRequestFilter est déprécié - remplacé par AuthHeaderFactory)
|
|
quarkus.rest-client."unionflow-api".providers=dev.lions.unionflow.client.service.RestClientExceptionMapper
|
|
|
|
# Configuration Keycloak OIDC
|
|
quarkus.oidc.enabled=true
|
|
quarkus.oidc.auth-server-url=https://security.lions.dev/realms/unionflow
|
|
quarkus.oidc.client-id=unionflow-client
|
|
quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET}
|
|
quarkus.oidc.application-type=web-app
|
|
quarkus.oidc.authentication.redirect-path=/auth/callback
|
|
quarkus.oidc.authentication.restore-path-after-redirect=true
|
|
quarkus.oidc.authentication.scopes=openid,profile,email,roles
|
|
quarkus.oidc.token.issuer=https://security.lions.dev/realms/unionflow
|
|
# SÉCURITÉ: TLS verification DOIT être 'required' par défaut
|
|
# Seulement 'none' en développement local (voir application-dev.properties)
|
|
quarkus.oidc.tls.verification=required
|
|
quarkus.oidc.authentication.cookie-same-site=lax
|
|
quarkus.oidc.authentication.java-script-auto-redirect=false
|
|
quarkus.oidc.discovery-enabled=true
|
|
|
|
# Configuration du logout OIDC
|
|
quarkus.oidc.logout.path=/logout
|
|
quarkus.oidc.logout.post-logout-path=/index.xhtml
|
|
|
|
# Chemins publics (non protégés par OIDC) - Doit être défini en premier
|
|
# La page d'accueil (/) et index.xhtml sont publics pour permettre l'affichage initial
|
|
# IMPORTANT: Les ressources JSF/PrimeFaces sont servies via /jakarta.faces.resource/* (ou /javax.faces.resource/* selon la stack)
|
|
# Elles doivent être publiques pour permettre le chargement des CSS/JS (thème Freya, primeicons, primeflex, etc.)
|
|
# On inclut également /q/oidc/* pour laisser Quarkus OIDC exposer ses endpoints internes si nécessaire.
|
|
quarkus.http.auth.permission.public.paths=/,/index.xhtml,/pages/public/*,/auth/*,/q/*,/q/oidc/*,/favicon.ico,/resources/*,/META-INF/resources/*,/images/*,/jakarta.faces.resource/*,/javax.faces.resource/*
|
|
quarkus.http.auth.permission.public.policy=permit
|
|
|
|
# Tous les autres chemins nécessitent une authentification
|
|
# IMPORTANT: L'ordre est crucial - les permissions publiques doivent être définies AVANT les permissions authentifiées
|
|
# Quarkus OIDC redirigera automatiquement vers Keycloak pour les chemins non publics
|
|
quarkus.http.auth.permission.authenticated.paths=/*
|
|
quarkus.http.auth.permission.authenticated.policy=authenticated
|
|
|
|
# Configuration Session (custom properties, gérées côté applicatif)
|
|
unionflow.session.timeout=${SESSION_TIMEOUT:1800}
|
|
unionflow.session.remember-me.duration=${REMEMBER_ME_DURATION:604800}
|
|
|
|
# Configuration de sécurité (custom properties, gérées côté applicatif)
|
|
unionflow.security.enable-csrf=${ENABLE_CSRF:true}
|
|
unionflow.security.password.min-length=${PASSWORD_MIN_LENGTH:8}
|
|
unionflow.security.password.require-special-chars=${PASSWORD_REQUIRE_SPECIAL:true}
|
|
unionflow.security.max-login-attempts=${MAX_LOGIN_ATTEMPTS:5}
|
|
unionflow.security.lockout-duration=${LOCKOUT_DURATION:300}
|
|
|
|
# ===================================================================================================
|
|
# Configuration Quarkus Arc CDI - Intégration avec JSF/MyFaces
|
|
# ===================================================================================================
|
|
# Active le mode découverte de beans pour permettre à Arc de gérer tous les beans CDI et JSF
|
|
quarkus.arc.unremovable-types=jakarta.faces.application.Application,jakarta.faces.context.FacesContext,jakarta.enterprise.context.Conversation
|
|
|
|
# Permet à Arc de détecter et gérer les beans avec annotations JSF custom scopes (@ViewScoped, etc.)
|
|
quarkus.arc.detect-unused-false-positives=true
|
|
|
|
# Force Arc à gérer les beans même s'ils ne sont pas référencés directement
|
|
quarkus.arc.remove-unused-beans=false
|
|
|
|
# Active le support complet CDI pour JSF Expression Language (EL)
|
|
# Cela permet à MyFaces d'utiliser Arc BeanManager pour résoudre #{bean.property}
|
|
quarkus.arc.auto-inject-fields=true
|