129 lines
5.1 KiB
Properties
129 lines
5.1 KiB
Properties
# ============================================================================
|
|
# Lions User Manager - Server Implementation Configuration - DEV
|
|
# ============================================================================
|
|
|
|
# HTTP Configuration
|
|
quarkus.http.port=8081
|
|
quarkus.http.host=localhost
|
|
quarkus.http.cors=true
|
|
quarkus.http.cors.origins=http://localhost:3000,http://localhost:8080
|
|
quarkus.http.cors.methods=GET,POST,PUT,DELETE,PATCH,OPTIONS
|
|
quarkus.http.cors.headers=*
|
|
|
|
# Keycloak OIDC Configuration (DEV)
|
|
# Le backend vérifie les tokens JWT envoyés par le client
|
|
# IMPORTANT: Pour un service, Quarkus valide les tokens JWT sans avoir besoin d'un client-id/secret
|
|
# Le backend accepte les tokens émis pour n'importe quel client du realm
|
|
quarkus.oidc.enabled=true
|
|
quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
|
|
quarkus.oidc.application-type=service
|
|
quarkus.oidc.tls.verification=none
|
|
quarkus.oidc.token.issuer=http://localhost:8180/realms/lions-user-manager
|
|
quarkus.oidc.discovery-enabled=true
|
|
# Accepter les tokens avec audience "account" (audience par défaut de Keycloak)
|
|
# Cela permet d'accepter les tokens émis pour le frontend sans configuration Keycloak supplémentaire
|
|
quarkus.oidc.token.audience=account
|
|
# Vérifier le token (obligatoire pour un service)
|
|
quarkus.oidc.verify-access-token=true
|
|
|
|
# Keycloak Admin Client Configuration (DEV)
|
|
lions.keycloak.server-url=http://localhost:8180
|
|
lions.keycloak.admin-realm=master
|
|
lions.keycloak.admin-client-id=admin-cli
|
|
lions.keycloak.admin-username=admin
|
|
lions.keycloak.admin-password=admin
|
|
lions.keycloak.connection-pool-size=5
|
|
lions.keycloak.timeout-seconds=30
|
|
|
|
# Realms autorisés (DEV)
|
|
lions.keycloak.authorized-realms=lions-user-manager,master,btpxpress,test-realm
|
|
|
|
# Circuit Breaker Configuration (DEV - plus permissif)
|
|
quarkus.smallrye-fault-tolerance.enabled=true
|
|
|
|
# Retry Configuration (DEV)
|
|
lions.keycloak.retry.max-attempts=3
|
|
lions.keycloak.retry.delay-seconds=1
|
|
|
|
# Audit Configuration (DEV)
|
|
lions.audit.enabled=true
|
|
lions.audit.log-to-database=false
|
|
lions.audit.log-to-file=true
|
|
lions.audit.retention-days=30
|
|
|
|
# Database Configuration (DEV - optionnel)
|
|
# Décommenter pour utiliser une DB locale
|
|
#quarkus.datasource.db-kind=postgresql
|
|
#quarkus.datasource.username=postgres
|
|
#quarkus.datasource.password=postgres
|
|
#quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/lions_audit_dev
|
|
#quarkus.hibernate-orm.database.generation=update
|
|
#quarkus.flyway.migrate-at-start=false
|
|
|
|
# Logging Configuration (DEV)
|
|
quarkus.log.level=INFO
|
|
quarkus.log.category."dev.lions.user.manager".level=DEBUG
|
|
quarkus.log.category."org.keycloak".level=INFO
|
|
quarkus.log.category."io.quarkus".level=INFO
|
|
# Logging OIDC pour debug
|
|
quarkus.log.category."io.quarkus.oidc".level=DEBUG
|
|
quarkus.log.category."io.quarkus.security".level=DEBUG
|
|
|
|
quarkus.log.console.enable=true
|
|
quarkus.log.console.format=%d{HH:mm:ss} %-5p [%c{2.}] (%t) %s%e%n
|
|
# quarkus.log.console.color est déprécié dans Quarkus 3.x
|
|
|
|
# File Logging pour Audit (DEV)
|
|
quarkus.log.file.enable=true
|
|
quarkus.log.file.path=logs/dev/lions-user-manager.log
|
|
quarkus.log.file.rotation.max-file-size=10M
|
|
quarkus.log.file.rotation.max-backup-index=3
|
|
|
|
# OpenAPI/Swagger Configuration (DEV - toujours activé)
|
|
quarkus.swagger-ui.always-include=true
|
|
quarkus.swagger-ui.enable=true
|
|
# Le chemin par défaut est /q/swagger-ui (pas besoin de le spécifier)
|
|
|
|
# Dev Services (activé en DEV)
|
|
quarkus.devservices.enabled=false
|
|
|
|
# Security Configuration (DEV)
|
|
# La sécurité est activée - les rôles sont vérifiés via OIDC/Keycloak
|
|
# Note: KeycloakTestUserConfig configure automatiquement l'utilisateur de test au démarrage
|
|
quarkus.security.auth.enabled=true
|
|
quarkus.security.jaxrs.deny-unannotated-endpoints=false
|
|
quarkus.security.auth.proactive=false
|
|
|
|
# Configuration OIDC - Extraction des rôles
|
|
# Le backend extrait les rôles depuis realm_access/roles (standard Keycloak)
|
|
# Le scope "roles" de Keycloak crée automatiquement realm_access.roles
|
|
# Syntaxe Quarkus: utiliser un slash pour les chemins imbriqués
|
|
quarkus.oidc.roles.role-claim-path=realm_access/roles
|
|
|
|
# Définir explicitement le profil pour que DevSecurityContextProducer le détecte
|
|
quarkus.profile=dev
|
|
|
|
# Logging pour debug du filtre de sécurité
|
|
quarkus.log.category."dev.lions.user.manager.security".level=DEBUG
|
|
|
|
# Logging OIDC et Security pour debug
|
|
quarkus.log.category."io.quarkus.oidc".level=DEBUG
|
|
quarkus.log.category."io.quarkus.oidc.runtime".level=DEBUG
|
|
quarkus.log.category."io.quarkus.security".level=DEBUG
|
|
quarkus.log.category."io.quarkus.security.runtime".level=DEBUG
|
|
|
|
# Hot Reload
|
|
quarkus.live-reload.instrumentation=true
|
|
|
|
# Désactiver le continuous testing qui bloque le démarrage
|
|
quarkus.test.continuous-testing=disabled
|
|
|
|
# Indexer les dépendances Keycloak pour éviter les warnings
|
|
quarkus.index-dependency.keycloak-admin.group-id=org.keycloak
|
|
quarkus.index-dependency.keycloak-admin.artifact-id=keycloak-admin-client
|
|
quarkus.index-dependency.keycloak-core.group-id=org.keycloak
|
|
quarkus.index-dependency.keycloak-core.artifact-id=keycloak-core
|
|
|
|
# Jackson - Ignorer les propriétés inconnues pour compatibilité Keycloak
|
|
quarkus.jackson.fail-on-unknown-properties=false
|