#!/usr/bin/env python3 """ Script de debug pour tester l'authentification du serveur """ import os import sys from pathlib import Path # Ajouter le répertoire parent au path sys.path.insert(0, str(Path(__file__).parent)) from core.security.api_tokens import TokenManager, validate_token def main(): print("=== Debug Authentification Serveur ===") # Vérifier les variables d'environnement print("\n1. Variables d'environnement:") admin_token = os.getenv('RPA_TOKEN_ADMIN') readonly_token = os.getenv('RPA_TOKEN_READONLY') print(f"RPA_TOKEN_ADMIN: {admin_token[:8] + '...' if admin_token else 'NON DÉFINI'}") print(f"RPA_TOKEN_READONLY: {readonly_token[:8] + '...' if readonly_token else 'NON DÉFINI'}") # Tester le TokenManager print("\n2. Test TokenManager:") try: tm = TokenManager() print(f"Admin tokens: {len(tm.admin_tokens)}") print(f"Read-only tokens: {len(tm.read_only_tokens)}") # Tester la validation du token admin if admin_token: print(f"\n3. Test validation token admin:") try: token_info = tm.validate_token(admin_token) print(f"✅ Token admin valide: {token_info.role}") except Exception as e: print(f"❌ Token admin invalide: {e}") # Tester la validation du token readonly if readonly_token: print(f"\n4. Test validation token readonly:") try: token_info = tm.validate_token(readonly_token) print(f"✅ Token readonly valide: {token_info.role}") except Exception as e: print(f"❌ Token readonly invalide: {e}") except Exception as e: print(f"❌ Erreur TokenManager: {e}") # Tester la fonction validate_token directement print(f"\n5. Test fonction validate_token directe:") if admin_token: try: token_info = validate_token(admin_token) print(f"✅ validate_token réussie: {token_info.role}") except Exception as e: print(f"❌ validate_token échouée: {e}") if __name__ == "__main__": main()