fix(client): Correction configuration OIDC - résolution conflit pkce-secret/state-secret
- Suppression de pkce-secret pour éviter le conflit avec state-secret - Configuration correcte de state-secret (32 caractères) et encryption-secret (32 caractères) - OIDC fonctionne maintenant correctement en mode dev avec PKCE
This commit is contained in:
@@ -53,33 +53,64 @@ quarkus.rest-client."lions-user-manager-api".scope=jakarta.inject.Singleton
|
||||
quarkus.rest-client."lions-user-manager-api".connect-timeout=5000
|
||||
quarkus.rest-client."lions-user-manager-api".read-timeout=30000
|
||||
|
||||
# Configuration Keycloak OIDC
|
||||
# ============================================
|
||||
# OIDC Configuration - Base (All Environments)
|
||||
# ============================================
|
||||
quarkus.oidc.enabled=true
|
||||
quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/master}
|
||||
quarkus.oidc.client-id=${KEYCLOAK_CLIENT_ID:lions-user-manager-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=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/master}
|
||||
quarkus.oidc.tls.verification=none
|
||||
quarkus.oidc.authentication.cookie-same-site=lax
|
||||
quarkus.oidc.authentication.java-script-auto-redirect=false
|
||||
quarkus.oidc.discovery-enabled=true
|
||||
quarkus.oidc.verify-access-token=true
|
||||
|
||||
# Activation de la sécurité
|
||||
quarkus.security.auth.enabled=true
|
||||
|
||||
# ============================================
|
||||
# OIDC Configuration - DEV Profile
|
||||
# ============================================
|
||||
%dev.quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
|
||||
%dev.quarkus.oidc.client-id=lions-user-manager-client
|
||||
%dev.quarkus.oidc.credentials.secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
%dev.quarkus.oidc.token.issuer=http://localhost:8180/realms/lions-user-manager
|
||||
%dev.quarkus.oidc.tls.verification=none
|
||||
%dev.quarkus.oidc.authentication.pkce-required=true
|
||||
# State Secret pour PKCE (OBLIGATOIRE quand pkce-required=true)
|
||||
# Ce secret est utilisé pour encrypter le PKCE code verifier dans le state cookie
|
||||
# Minimum 16 caractères requis, recommandé 32 caractères
|
||||
# IMPORTANT: Ne PAS définir pkce-secret quand state-secret est défini (conflit Quarkus)
|
||||
%dev.quarkus.oidc.authentication.state-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
# Secret de chiffrement pour le token state manager (minimum 16 caractères requis)
|
||||
# Cette clé est utilisée pour chiffrer les cookies d'état OIDC
|
||||
# Valeur: 64 caractères (secret Keycloak dupliqué pour garantir la longueur)
|
||||
%dev.quarkus.oidc.token-state-manager.encryption-secret=NTuaQpk5E6qiMqAWTFrCOcIkOABzZzKO
|
||||
|
||||
# ============================================
|
||||
# OIDC Configuration - PROD Profile
|
||||
# ============================================
|
||||
%prod.quarkus.oidc.auth-server-url=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/master}
|
||||
%prod.quarkus.oidc.client-id=${KEYCLOAK_CLIENT_ID:lions-user-manager-client}
|
||||
%prod.quarkus.oidc.credentials.secret=${KEYCLOAK_CLIENT_SECRET}
|
||||
%prod.quarkus.oidc.token.issuer=${KEYCLOAK_AUTH_SERVER_URL:https://security.lions.dev/realms/master}
|
||||
%prod.quarkus.oidc.tls.verification=required
|
||||
%prod.quarkus.oidc.authentication.cookie-same-site=strict
|
||||
%prod.quarkus.oidc.authentication.pkce-required=false
|
||||
# Secret production via variable d'environnement (32 caractères requis)
|
||||
%prod.quarkus.oidc.token-state-manager.encryption-secret=${OIDC_ENCRYPTION_SECRET}
|
||||
|
||||
# Chemins publics (non protégés par OIDC)
|
||||
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/*
|
||||
# Note: Les pages JSF sont servies via /pages/*.xhtml
|
||||
quarkus.http.auth.permission.public.paths=/,/index.xhtml,/index,/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
|
||||
|
||||
# Chemins protégés (requièrent authentification)
|
||||
# Chemins protégés (requièrent authentification) - Désactivé en dev
|
||||
quarkus.http.auth.permission.authenticated.paths=/pages/user-manager/*
|
||||
quarkus.http.auth.permission.authenticated.policy=authenticated
|
||||
|
||||
# DEV: Chemins publics élargis pour faciliter le développement
|
||||
%dev.quarkus.http.auth.permission.public.paths=/,/index.xhtml,/index,/pages/public/*,/auth/*,/q/*,/q/oidc/*,/favicon.ico,/resources/*,/META-INF/resources/*,/images/*,/jakarta.faces.resource/*,/javax.faces.resource/*
|
||||
|
||||
# CORS (si nécessaire pour développement)
|
||||
quarkus.http.cors=true
|
||||
quarkus.http.cors.origins=${CORS_ORIGINS:http://localhost:8080,http://localhost:8081}
|
||||
|
||||
Reference in New Issue
Block a user