#!/bin/bash # Script de correction des tokens pour Option A (Solution Rapide) # Ce script met à jour les tokens de production pour correspondre aux tokens hardcodés set -e echo "🔧 RPA Vision V3 - Correction des tokens (Option A)" echo "==================================================" echo "" # Vérifier qu'on est bien root ou avec sudo if [ "$EUID" -ne 0 ]; then echo "❌ Ce script doit être exécuté avec sudo" echo "Usage: sudo bash fix_tokens_production.sh" exit 1 fi ENV_FILE="/etc/rpa_vision_v3/rpa_vision_v3.env" BACKUP_FILE="${ENV_FILE}.backup_$(date +%Y%m%d_%H%M%S)" # Vérifier que le fichier existe if [ ! -f "$ENV_FILE" ]; then echo "❌ Fichier $ENV_FILE introuvable" exit 1 fi echo "📂 Fichier de configuration: $ENV_FILE" echo "" # Créer une sauvegarde echo "💾 Création d'une sauvegarde..." cp "$ENV_FILE" "$BACKUP_FILE" echo "✓ Sauvegarde créée: $BACKUP_FILE" echo "" # Nouveaux tokens (ceux qui sont hardcodés dans api_tokens.py) NEW_ADMIN_TOKEN="73cf0db73f9a5064e79afebba96c85338be65cc2060b9c1d42c3ea5dd7d4e490" NEW_READONLY_TOKEN="7eea1de415cc69c02381ce09ff63aeebf3e1d9b476d54aa6730ba9de849e3dc6" echo "🔑 Mise à jour des tokens..." # Créer un fichier temporaire TEMP_FILE=$(mktemp) # Lire le fichier ligne par ligne et remplacer les tokens while IFS= read -r line; do if [[ $line =~ ^RPA_TOKEN_ADMIN= ]]; then echo "RPA_TOKEN_ADMIN=$NEW_ADMIN_TOKEN" elif [[ $line =~ ^RPA_TOKEN_READONLY= ]]; then echo "RPA_TOKEN_READONLY=$NEW_READONLY_TOKEN" else echo "$line" fi done < "$ENV_FILE" > "$TEMP_FILE" # Remplacer le fichier original mv "$TEMP_FILE" "$ENV_FILE" # Restaurer les permissions chown root:rpa "$ENV_FILE" chmod 640 "$ENV_FILE" echo "✓ Tokens mis à jour" echo "" # Afficher les nouveaux tokens (premiers 16 caractères) echo "📋 Nouveaux tokens (tronqués):" echo " - RPA_TOKEN_ADMIN: ${NEW_ADMIN_TOKEN:0:16}..." echo " - RPA_TOKEN_READONLY: ${NEW_READONLY_TOKEN:0:16}..." echo "" # Recharger les services systemd echo "🔄 Rechargement des services RPA Vision V3..." # Arrêter les services echo " → Arrêt des services..." systemctl stop rpa-vision-v3-api.service systemctl stop rpa-vision-v3-worker.service systemctl stop rpa-vision-v3-dashboard.service # Attendre un peu sleep 2 # Redémarrer les services echo " → Démarrage des services..." systemctl start rpa-vision-v3-api.service systemctl start rpa-vision-v3-worker.service systemctl start rpa-vision-v3-dashboard.service # Attendre que les services démarrent sleep 3 # Vérifier le statut echo "" echo "📊 Statut des services:" systemctl status rpa-vision-v3-api.service --no-pager -l | head -5 echo "" systemctl status rpa-vision-v3-worker.service --no-pager -l | head -5 echo "" systemctl status rpa-vision-v3-dashboard.service --no-pager -l | head -5 echo "" echo "✅ CORRECTION TERMINÉE" echo "" echo "📝 Prochaines étapes:" echo " 1. Vérifier les logs: sudo journalctl -u rpa-vision-v3-api -n 50" echo " 2. Tester l'upload: cd agent_v0 && ./run.sh" echo " 3. Vérifier que l'authentification fonctionne" echo "" echo "💡 En cas de problème, restaurer la sauvegarde:" echo " sudo cp $BACKUP_FILE $ENV_FILE" echo " sudo systemctl restart rpa-vision-v3-*.service"