This repository has been archived on 2026-01-03. You can view files and clone it, but cannot push or open issues or pull requests.
Files
lions-user-manager/README_DEMARRAGE.md
lionsdev ee0bd2c2da docs: Ajout du guide de démarrage complet
- Instructions détaillées pour démarrer l'application
- Explications de l'architecture d'authentification
- Guide de résolution des problèmes courants
- Diagramme de flux d'authentification
2025-12-04 21:58:51 +00:00

6.2 KiB

Guide de démarrage - Lions User Manager

🚀 Configuration Keycloak effectuée

La configuration Keycloak a été effectuée avec succès ! Voici ce qui a été configuré :

Realm dédié

  • Nom du realm : lions-user-manager
  • Architecture correcte : realm séparé pour l'application (pas master)

Client configuré

  • Client Frontend : lions-user-manager-client

    • Secret : client-secret-lions-2025
    • Type : Confidential (Authorization Code Flow + Direct Access)
    • Redirect URIs : http://localhost:8080/*, http://localhost:8081/*
  • Backend : Pas de client séparé

    • Utilise directement l'Admin API avec les credentials admin/admin
    • Architecture correcte : pas besoin de service account pour ce cas d'usage

Utilisateur de test

  • Username : testuser
  • Password : test123
  • Email : test@lions.dev
  • Rôles : admin, user_manager

Rôles créés

  • admin - Accès complet
  • user_manager - Gestion utilisateurs
  • user_viewer - Lecture seule
  • auditor - Consultation logs
  • sync_manager - Synchronisation

📦 Démarrage de l'application

1. Vérifier que Keycloak tourne

curl http://localhost:8180/realms/lions-user-manager/.well-known/openid-configuration

Si Keycloak ne tourne pas, le démarrer :

# Exemple avec Docker
docker run -p 8180:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest start-dev

2. Démarrer le Backend (port 8081)

cd lions-user-manager-server-impl-quarkus
mvn quarkus:dev

Note : Le backend utilise directement l'Admin API de Keycloak avec admin/admin. OIDC est désactivé car pas nécessaire.

Vérification :

# Test de l'API (doit renvoyer une liste vide ou des utilisateurs)
curl "http://localhost:8081/api/users?realm=lions-user-manager"

3. Démarrer le Frontend (port 8080)

cd lions-user-manager-client-quarkus-primefaces-freya
mvn quarkus:dev

Configuration OIDC active pour le frontend (fichier application-dev.properties) :

quarkus.oidc.auth-server-url=http://localhost:8180/realms/lions-user-manager
quarkus.oidc.client-id=lions-user-manager-client
quarkus.oidc.credentials.secret=client-secret-lions-2025
quarkus.oidc.application-type=web-app

4. Accéder à l'application

Frontend Web

  1. Ouvrir : http://localhost:8080
  2. Vous serez redirigé vers Keycloak pour l'authentification
  3. Se connecter avec : testuser / test123
  4. Vous serez redirigé vers l'application

Backend API

🔧 Résolution des problèmes

Problème : "Forbidden" sur http://localhost:8081

C'est normal ! Le backend ne sert pas de pages web directement. Utilisez plutôt :

Problème : "Client not found" sur le frontend

Solution : Relancer le script de configuration :

bash setup-keycloak-correct.sh

Problème : Impossible de se connecter avec testuser

Vérifications :

  1. Vérifier que l'utilisateur existe dans le bon realm :

  2. Vérifier le mot de passe : test123

  3. Vérifier que le compte est activé (Enabled: ON)

Problème : "Unauthorized" sur les API

Le backend utilise l'Admin API avec admin/admin. Vérifiez :

# Dans application-dev.properties
lions.keycloak.admin-username=admin
lions.keycloak.admin-password=admin

📋 Architecture de l'authentification

┌─────────────────┐
│   Utilisateur   │
└────────┬────────┘
         │
         │ 1. Accède à http://localhost:8080
         │
         ▼
┌─────────────────────────┐
│  Frontend (port 8080)   │  ← OIDC activé
│  PrimeFaces + Quarkus   │
└────────┬────────────────┘
         │
         │ 2. Redirige vers Keycloak
         │
         ▼
┌─────────────────────────────────────┐
│      Keycloak (port 8180)           │
│  Realm: lions-user-manager          │
│  Client: lions-user-manager-client  │
└────────┬────────────────────────────┘
         │
         │ 3. Login: testuser/test123
         │ 4. Retourne token
         │
         ▼
┌─────────────────────────┐
│  Frontend authentifié   │
└────────┬────────────────┘
         │
         │ 5. Appelle l'API avec token
         │
         ▼
┌──────────────────────────────┐
│  Backend API (port 8081)     │  ← OIDC désactivé
│  Utilise Admin API directe   │
└──────────┬───────────────────┘
           │
           │ 6. Auth avec admin/admin
           │
           ▼
    ┌──────────┐
    │ Keycloak │
    │ Admin API│
    └──────────┘

🎯 Prochaines étapes

  1. Keycloak configuré
  2. Utilisateur de test créé
  3. Tester l'authentification sur le frontend
  4. Tester les API du backend
  5. Développer les pages manquantes
  6. Implémenter les fonctionnalités métier

📞 Support

En cas de problème :

  1. Vérifier les logs des applications
  2. Vérifier la configuration Keycloak dans l'Admin Console
  3. Consulter KEYCLOAK_SETUP.md pour plus de détails
  4. Relancer setup-keycloak-correct.sh si nécessaire

Date de configuration : 2025-12-04 Realm : lions-user-manager Credentials test : testuser / test123