#!/bin/bash # Diagnostic approfondi du problème d'authentification echo "🔍 DIAGNOSTIC APPROFONDI - Authentification RPA Vision V3" echo "==========================================================" echo "" echo "1️⃣ VÉRIFICATION DU FICHIER DE CONFIGURATION" echo "-------------------------------------------" if [ -f /etc/rpa_vision_v3/rpa_vision_v3.env ]; then echo "✅ Fichier existe: /etc/rpa_vision_v3/rpa_vision_v3.env" echo "" echo "Contenu des variables RPA_TOKEN:" sudo cat /etc/rpa_vision_v3/rpa_vision_v3.env | grep "RPA_TOKEN" || echo "❌ Aucune variable RPA_TOKEN trouvée" else echo "❌ Fichier /etc/rpa_vision_v3/rpa_vision_v3.env introuvable!" fi echo "" echo "2️⃣ STATUT DES SERVICES" echo "----------------------" for service in rpa-vision-v3-api rpa-vision-v3-worker rpa-vision-v3-dashboard; do status=$(systemctl is-active $service 2>/dev/null || echo "inactive") echo "$service: $status" done echo "" echo "3️⃣ LOGS DE L'API (50 dernières lignes pertinentes)" echo "--------------------------------------------------" echo "Recherche de 'TokenManager' dans les logs:" sudo journalctl -u rpa-vision-v3-api -n 200 --no-pager | grep -i "tokenmanager" | tail -10 echo "" echo "Recherche de 'admin token' dans les logs:" sudo journalctl -u rpa-vision-v3-api -n 200 --no-pager | grep -i "admin token" | tail -10 echo "" echo "Recherche de 'unauthorized' dans les logs:" sudo journalctl -u rpa-vision-v3-api -n 200 --no-pager | grep -i "unauthorized" | tail -5 echo "" echo "4️⃣ PROCESSUS API EN COURS" echo "-------------------------" ps aux | grep -E "api_upload.py|uvicorn" | grep -v grep || echo "Aucun processus API trouvé" echo "" echo "5️⃣ TEST API DÉTAILLÉ" echo "--------------------" echo "Test sans authentification:" curl -s http://localhost:8000/api/traces/status 2>/dev/null || echo "❌ API non accessible" echo "" echo "" echo "Test avec token hardcodé:" curl -s -H "Authorization: Bearer 73cf0db73f9a5064e79afebba96c85338be65cc2060b9c1d42c3ea5dd7d4e490" \ http://localhost:8000/api/traces/status 2>/dev/null || echo "❌ API non accessible" echo "" echo "" echo "6️⃣ VÉRIFICATION DU CODE api_tokens.py" echo "-------------------------------------" if [ -f /opt/rpa_vision_v3/core/security/api_tokens.py ]; then echo "Ligne 93-96 (tokens hardcodés):" sed -n '93,96p' /opt/rpa_vision_v3/core/security/api_tokens.py else echo "❌ Fichier api_tokens.py non trouvé dans /opt/rpa_vision_v3/" fi echo "" echo "7️⃣ RECOMMANDATIONS" echo "------------------" echo "Si TokenManager affiche '0 admin tokens, 0 read-only tokens':" echo " → Le problème est dans le chargement des variables d'environnement" echo "" echo "Si TokenManager affiche '2 admin tokens, 2 read-only tokens':" echo " → Le problème est dans la validation du token" echo "" echo "Si aucune ligne TokenManager n'apparaît:" echo " → L'API n'a pas redémarré correctement" echo "" echo "✅ Diagnostic terminé" echo "" echo "💡 Pour forcer un redémarrage complet:" echo " sudo systemctl daemon-reload" echo " sudo systemctl restart rpa-vision-v3-api" echo " sudo journalctl -u rpa-vision-v3-api -f"