6.0 KiB
6.0 KiB
Checklist de Tests d'Intégration Keycloak
🔧 Prérequis
- Keycloak est démarré sur
https://security.lions.dev - Le realm
btpxpressest configuré - Les clients
btpxpress-frontendetbtpxpress-backendsont créés - L'application frontend est démarrée sur
http://localhost:3000 - L'application backend est démarrée sur
http://localhost:8080
🚀 Tests d'Authentification
1. Accès Initial
- Aller sur
http://localhost:3000 - Vérifier que la page d'accueil s'affiche (page publique)
- Cliquer sur un lien vers une page protégée (ex: Dashboard)
- Vérifier la redirection vers
/auth/login
2. Page de Connexion
- Vérifier que la page de connexion s'affiche correctement
- Vérifier le bouton "Se connecter avec Keycloak"
- Cliquer sur le bouton de connexion
- Vérifier la redirection vers Keycloak
3. Authentification Keycloak
- Vérifier que la page de connexion Keycloak s'affiche
- Se connecter avec un utilisateur valide
- Vérifier la redirection vers l'application
- Vérifier l'affichage du dashboard ou de la page demandée
4. État Authentifié
- Vérifier que le menu utilisateur affiche les informations correctes
- Vérifier que le nom d'utilisateur est affiché
- Vérifier que l'email est affiché
- Vérifier que le rôle est affiché
🔒 Tests d'Autorisation
5. Protection des Routes
- Accéder à
/dashboard- doit être accessible si authentifié - Accéder à
/chantiers- doit être accessible si authentifié - Accéder à
/admin/utilisateurs- doit être accessible seulement pour ADMIN/SUPER_ADMIN - Accéder à
/admin/roles- doit être accessible seulement pour ADMIN/SUPER_ADMIN
6. Gestion des Rôles
- Se connecter avec un utilisateur USER
- Essayer d'accéder à
/admin/utilisateurs - Vérifier la redirection vers
/auth/forbidden - Vérifier l'affichage de la page d'accès interdit
7. Menu Dynamique
- Vérifier que le menu affiche seulement les éléments autorisés
- Se connecter avec différents rôles et vérifier les menus
- Vérifier que les éléments admin ne s'affichent que pour les admins
🔄 Tests de Session
8. Rafraîchissement de Token
- Rester connecté pendant plus de 5 minutes
- Effectuer une action (ex: naviguer vers une nouvelle page)
- Vérifier que le token est rafraîchi automatiquement
- Vérifier qu'aucune déconnexion forcée n'a lieu
9. Expiration de Session
- Laisser la session expirer (configurer un timeout court si nécessaire)
- Essayer d'effectuer une action
- Vérifier la redirection vers la page de connexion
10. Déconnexion
- Cliquer sur "Se déconnecter" dans le menu utilisateur
- Vérifier la redirection vers
/auth/logout - Vérifier l'affichage de la page de déconnexion
- Vérifier la redirection automatique vers l'accueil
- Essayer d'accéder à une page protégée
- Vérifier la redirection vers la connexion
🌐 Tests API
11. Intégration Backend
- Ouvrir les outils de développement (F12)
- Aller dans l'onglet Network
- Effectuer une action qui appelle l'API (ex: charger la liste des chantiers)
- Vérifier que les requêtes contiennent l'en-tête
Authorization: Bearer <token> - Vérifier que les réponses sont correctes (200 OK)
12. Gestion des Erreurs API
- Simuler une erreur 401 (token expiré)
- Vérifier que l'application tente de rafraîchir le token
- Si le rafraîchissement échoue, vérifier la redirection vers la connexion
🔧 Tests de Compatibilité
13. Rétrocompatibilité
- Vérifier que l'ancien système JWT ne cause pas d'erreurs
- Vérifier que les anciens tokens sont ignorés
- Vérifier que le nettoyage des anciens tokens fonctionne
14. Navigation
- Tester la navigation entre les pages
- Vérifier que l'état d'authentification est maintenu
- Tester le bouton "Retour" du navigateur
- Tester le rafraîchissement de page (F5)
🚨 Tests d'Erreur
15. Keycloak Indisponible
- Arrêter Keycloak temporairement
- Essayer de se connecter
- Vérifier l'affichage d'un message d'erreur approprié
16. Configuration Incorrecte
- Modifier temporairement la configuration Keycloak (mauvais realm)
- Vérifier la gestion des erreurs de configuration
- Restaurer la configuration correcte
📱 Tests Multi-Navigateurs
17. Compatibilité Navigateurs
- Tester sur Chrome
- Tester sur Firefox
- Tester sur Safari (si disponible)
- Tester sur Edge
18. Mode Incognito
- Tester l'authentification en mode incognito
- Vérifier que la session ne persiste pas après fermeture
✅ Validation Finale
19. Workflow Complet
- Effectuer un workflow complet : connexion → navigation → actions → déconnexion
- Vérifier qu'aucune erreur n'apparaît dans la console
- Vérifier que les performances sont acceptables
20. Documentation
- Vérifier que la documentation est à jour
- Vérifier que les variables d'environnement sont documentées
- Vérifier que les instructions de déploiement sont correctes
📊 Résultats
| Test | Statut | Notes |
|---|---|---|
| Accès Initial | ⏳ | |
| Page de Connexion | ⏳ | |
| Authentification Keycloak | ⏳ | |
| État Authentifié | ⏳ | |
| Protection des Routes | ⏳ | |
| Gestion des Rôles | ⏳ | |
| Menu Dynamique | ⏳ | |
| Rafraîchissement de Token | ⏳ | |
| Expiration de Session | ⏳ | |
| Déconnexion | ⏳ | |
| Intégration Backend | ⏳ | |
| Gestion des Erreurs API | ⏳ | |
| Rétrocompatibilité | ⏳ | |
| Navigation | ⏳ | |
| Keycloak Indisponible | ⏳ | |
| Configuration Incorrecte | ⏳ | |
| Compatibilité Navigateurs | ⏳ | |
| Mode Incognito | ⏳ | |
| Workflow Complet | ⏳ | |
| Documentation | ⏳ |
Légende :
- ✅ Réussi
- ❌ Échec
- ⏳ En attente
- ⚠️ Attention requise