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/INSTRUCTIONS_TEST.md
lionsdev 4cd23c03ad docs: Ajout documentation et scripts de démarrage
- Documentation configuration OIDC, démarrage, diagnostic
- Scripts batch pour démarrage backend et client
- Script shell pour configuration Keycloak frontend
2025-12-05 16:23:57 +00:00

8.0 KiB

Instructions de Test - Lions User Manager

Configuration Terminée

Tous les composants sont maintenant configurés et opérationnels !

🚀 Architecture Actuelle

┌─────────────────────────────────────────────┐
│          Navigateur Web                     │
└────────────┬────────────────────────────────┘
             │
             │ 1. http://localhost:8080
             │    Redirection OIDC →
             │
             ▼
┌─────────────────────────────────────────────┐
│  KEYCLOAK (Port 8180) ✅                    │
│  - Realm: lions-user-manager                │
│  - Client: lions-user-manager-client        │
│  - Secret: client-secret-lions-2025         │
└────────────┬────────────────────────────────┘
             │
             │ 2. Authentification
             │    testuser / test123
             │
             ▼
┌─────────────────────────────────────────────┐
│  FRONTEND (Port 8080) ✅                    │
│  - OIDC activé                              │
│  - Reçoit token JWT                         │
└────────────┬────────────────────────────────┘
             │
             │ 3. Appels API avec token JWT
             │
             ▼
┌─────────────────────────────────────────────┐
│  BACKEND (Port 8081) ✅                     │
│  - Vérifie le token JWT                     │
│  - Appelle Keycloak Admin API               │
└─────────────────────────────────────────────┘

📋 Étapes de Test

1. Vérifier que tous les services tournent

# Backend (port 8081)
curl http://localhost:8081/q/health

# Keycloak (port 8180)
curl http://localhost:8180/realms/lions-user-manager

# Frontend (port 8080) - devrait rediriger
curl -I http://localhost:8080

2. Tester l'authentification complète

  1. Ouvrir le navigateur : http://localhost:8080

  2. Redirection automatique vers Keycloak :

    • URL sera : http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/auth?...
  3. Se connecter avec les credentials :

    • Username : testuser
    • Password : test123
  4. Redirection vers le frontend authentifié

  5. Accéder aux pages protégées :

3. Tester les API Backend directement

Avec token (authentifié)

# 1. Obtenir un token
TOKEN=$(curl -s -X POST "http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=lions-user-manager-client" \
  -d "client_secret=client-secret-lions-2025" \
  -d "username=testuser" \
  -d "password=test123" \
  -d "grant_type=password" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)

# 2. Appeler l'API avec le token
curl -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8081/api/users?realm=lions-user-manager"

🔑 Credentials

Keycloak Admin

Test User (Application)

Client Configuration

  • Client ID : lions-user-manager-client
  • Client Secret : client-secret-lions-2025
  • Realm : lions-user-manager

📊 Endpoints de Test

Frontend

Backend API

Keycloak

⚠️ Troubleshooting

Frontend retourne "Forbidden"

  • Cause : Pas authentifié
  • Solution : Allez sur http://localhost:8080, laissez-vous rediriger vers Keycloak et authentifiez-vous

Erreur "Client not found"

  • Cause : Configuration Keycloak incorrecte
  • Solution : Vérifier que le client lions-user-manager-client existe dans le realm lions-user-manager

Backend retourne 403

  • Cause : Token invalide ou manquant
  • Solution : S'assurer que le frontend envoie bien le token JWT dans l'en-tête Authorization

"Invalid redirect_uri"

  • Cause : Les redirect URIs ne sont pas configurées correctement
  • Solution : Dans Keycloak Admin, vérifier que http://localhost:8080/* est bien dans les Valid Redirect URIs

🧪 Scénarios de Test

Scénario 1 : Authentification et Liste des Utilisateurs

  1. Ouvrir http://localhost:8080
  2. Se connecter avec testuser/test123
  3. Naviguer vers la liste des utilisateurs
  4. Vérifier que les utilisateurs s'affichent

Scénario 2 : Créer un Utilisateur

  1. S'authentifier (voir Scénario 1)
  2. Cliquer sur "Nouveau Utilisateur"
  3. Remplir le formulaire
  4. Sauvegarder
  5. Vérifier que l'utilisateur apparaît dans la liste

Scénario 3 : Gestion des Rôles

  1. S'authentifier
  2. Aller sur la page des rôles
  3. Assigner des rôles à un utilisateur
  4. Vérifier que les rôles sont bien assignés

Scénario 4 : API Backend Directe

# Obtenir token
TOKEN=$(curl -s -X POST "http://localhost:8180/realms/lions-user-manager/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=lions-user-manager-client" \
  -d "client_secret=client-secret-lions-2025" \
  -d "username=testuser" \
  -d "password=test123" \
  -d "grant_type=password" | grep -o '"access_token":"[^"]*' | cut -d'"' -f4)

# Lister utilisateurs
curl -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8081/api/users?realm=lions-user-manager"

# Lister rôles
curl -H "Authorization: Bearer $TOKEN" \
  "http://localhost:8081/api/roles/realm?realm=lions-user-manager"

Checklist de Validation

  • Backend démarre sur port 8081
  • Keycloak accessible sur port 8180
  • Frontend démarre sur port 8080
  • Redirection OIDC fonctionne (frontend → Keycloak)
  • Authentification réussie avec testuser/test123
  • Pages protégées accessibles après authentification
  • API Backend retourne des données
  • Token JWT est correctement transmis
  • Swagger UI accessible et fonctionnel

🎯 Prochaines Étapes (Post-Test)

  1. Validation de l'authentification complète
  2. Tests fonctionnels de toutes les pages
  3. Tests CRUD complets (Create, Read, Update, Delete)
  4. Tests de gestion des rôles
  5. Tests d'audit
  6. Tests de synchronisation

📝 Notes

  • Le frontend utilise maintenant OIDC avec Keycloak local
  • Le backend vérifie les tokens JWT via OIDC
  • Tous les appels API nécessitent un token valide
  • Le test user testuser a les rôles : admin, user_manager

Date de configuration : 2025-12-05 Environnement : Développement (DEV)