# ============================================================================ # 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