Files
unionflow-client-quarkus-pr…/KEYCLOAK_VERIFICATION.md
dahoud a3d52d9d6d fix: OAuth redirect configuration for production
🐛 CORRECTION - Redirection OAuth après authentification

PROBLÈME RAPPORTÉ:
- Après authentification Keycloak, utilisateur bloqué sur /auth/callback
- URL contient state & code mais pas de redirection automatique
- Page d'accueil non accessible à https://unionflow.lions.dev

CORRECTIONS APPLIQUÉES:

1. application-prod.properties (lignes 107-112):
    Ajout explicit redirect-path=/auth/callback (était commenté)
    Ajout redirect-path-after-login=/pages/secure/dashboard.xhtml
    Assure compatibilité avec configuration Keycloak

2. Documentation Keycloak:
    Création de KEYCLOAK_VERIFICATION.md
    Guide de vérification des redirect URIs
    Checklist de déploiement

CONFIGURATION EXISTANTE (déjà OK):
- web.xml: index.xhtml configuré comme welcome-file
- index.xhtml: Landing page magnifique déjà créée (PrimeFaces Freya)
- Keycloak realm: unionflow actif et accessible

FLUX OAUTH ATTENDU APRÈS CORRECTION:
1. Accès https://unionflow.lions.dev → Landing page (index.xhtml)
2. Clic 'Accéder' → Redirection Keycloak pour auth
3. Authentification → Callback /auth/callback
4. Redirection automatique → /pages/secure/dashboard.xhtml 

FICHIERS MODIFIÉS:
- src/main/resources/application-prod.properties
- KEYCLOAK_VERIFICATION.md (nouveau)

Réf: Issue rapportée en production
     URL callback avec state/code sans redirect

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 02:31:11 +00:00

3.3 KiB

Vérification Configuration Keycloak - UnionFlow

Date: 2025-12-21 Realm: unionflow Client ID: unionflow-client


À Vérifier dans la Console Admin Keycloak

1. Accéder à la Configuration du Client

  1. Se connecter à https://security.lions.dev
  2. Sélectionner le realm unionflow
  3. Aller dans Clientsunionflow-client

2. Vérifier les Redirect URIs

Dans l'onglet Settings, vérifier que Valid Redirect URIs contient:

https://unionflow.lions.dev/auth/callback

Si absent, l'ajouter et cliquer sur Save.

3. Vérifier les Paramètres OIDC

Dans l'onglet Settings, s'assurer que:

  • Client Protocol: openid-connect
  • Access Type: confidential
  • Standard Flow Enabled: ON
  • Direct Access Grants Enabled: ON (optionnel)
  • Valid Redirect URIs: https://unionflow.lions.dev/auth/callback
  • Web Origins: https://unionflow.lions.dev

4. Vérifier le Client Secret

Dans l'onglet Credentials:

  • Noter le Secret (doit correspondre à KEYCLOAK_CLIENT_SECRET dans l'environnement)

Configuration Application Corrigée

application-prod.properties

# Configuration Keycloak OIDC - Production
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

# ✅ CORRECTION: Callback path explicite
quarkus.oidc.authentication.redirect-path=/auth/callback

# ✅ CORRECTION: Redirection après login réussie
quarkus.oidc.authentication.redirect-path-after-login=/pages/secure/dashboard.xhtml

quarkus.oidc.authentication.restore-path-after-redirect=true
quarkus.oidc.authentication.force-redirect-https-scheme=true

Flux OAuth Attendu

  1. Accès initial: https://unionflow.lions.dev

    • Affiche landing page (index.xhtml)
    • Bouton "Accéder" → /pages/secure/dashboard.xhtml
  2. Redirection Keycloak: Utilisateur non authentifié

    • Redirect vers https://security.lions.dev/realms/unionflow/protocol/openid-connect/auth
  3. Authentification: Login Keycloak

    • Utilisateur entre credentials
  4. Callback OAuth: Keycloak renvoie vers application

    • https://unionflow.lions.dev/auth/callback?state=...&code=...
  5. Redirection finale: Application traite le callback

    • Redirect automatique vers /pages/secure/dashboard.xhtml

Commandes de Diagnostic

Vérifier la configuration OIDC

curl -s https://security.lions.dev/realms/unionflow/.well-known/openid-configuration | jq .

Vérifier l'accessibilité de l'application

curl -I https://unionflow.lions.dev
curl -I https://unionflow.lions.dev/auth/callback
curl -I https://unionflow.lions.dev/pages/secure/dashboard.xhtml

Checklist Déploiement

  • OAuth redirect-path configuré: /auth/callback
  • OAuth redirect-path-after-login configuré: /pages/secure/dashboard.xhtml
  • Landing page (index.xhtml) existe et est magnifique
  • web.xml configure index.xhtml comme welcome-file
  • Keycloak Valid Redirect URIs contient: https://unionflow.lions.dev/auth/callback
  • Committer les changements
  • Déployer en production
  • Tester le flux OAuth complet

Dernière modification: 2025-12-21 Auteur: Claude Code