🔐 Configuration OAuth

OAuth est le protocole d'authentification utilisé par FusionSolar et Sungrow pour permettre à PVReactive d'accéder à vos données sans jamais stocker vos identifiants. SolarEdge utilise une clé API et SMA fonctionne en clé/secret API.

Pourquoi OAuth pour FusionSolar et Sungrow ?

Plus sécurisé

Vos mots de passe ne sont jamais transmis à PVReactive. Seuls des tokens temporaires sont stockés (chiffrés en base).

Renouvellement automatique

Les access tokens sont renouvelés automatiquement via le refresh token. Aucune action manuelle requise tant que le compte source reste actif.

Révocable à tout moment

Vous pouvez révoquer l'accès depuis votre portail constructeur sans affecter votre compte PVReactive.

Compatible multi-zone

Pour FusionSolar, OAuth détecte automatiquement la zone serveur (EU / AP / US) à partir du token retourné.

Méthodes d'authentification par provider

Provider Méthode Particularité
Huawei FusionSolarOAuth 2.0 + cookies session NorthboundZone serveur auto-détectée (EU / AP / US)
SungrowOAuth 2.0 iSolarCloud v2Refresh token longue durée + appsecret
SolarEdgeAPI KeyClé permanente, fenêtres 28 jours max par appel
SMAAPI key/secret + fallback SunnyPortalCompte SunnyPortal classic supporté si non migré

Flow OAuth FusionSolar — Étape par étape

  1. Depuis /admin/client/{X}/edit?tab=accounts, cliquez sur + Ajouter et choisissez FusionSolar
  2. Renseignez le nom du compte (libre, ex. « FusionSolar EU - Compte principal »)
  3. Validez — un nouvel onglet s'ouvre sur la page d'autorisation Huawei
  4. Connectez-vous avec votre identifiant FusionSolar et autorisez l'application PVReactive
  5. Huawei redirige vers PVReactive avec un code d'autorisation
  6. PVReactive échange ce code contre un access token + refresh token
  7. La zone serveur (EU/AP/US) est détectée et stockée
  8. Le badge Connecté apparaît avec le serveur identifié
  9. Une première synchronisation est déclenchée immédiatement

Plusieurs comptes FusionSolar par client

Un même client peut connecter plusieurs comptes FusionSolar (par exemple : un compte EU et un compte AP). Chaque compte est isolé techniquement et utilise ses propres tokens.

Flow OAuth Sungrow — Étape par étape

  1. Depuis l'onglet Configuration, + Ajouter > Sungrow
  2. Renseignez le nom du compte et l'appsecret fourni par Sungrow lors de votre inscription développeur
  3. Un onglet OAuth iSolarCloud s'ouvre — connectez-vous
  4. Autorisez PVReactive — retour automatique avec refresh token
  5. Le badge Connecté s'affiche

Renouvellement automatique

  • Les access tokens sont renouvelés par PVReactive avant expiration (typiquement à 80 % de leur durée de vie)
  • Le renouvellement est protégé par un lock distribué Redis pour éviter les race conditions entre jobs concurrents
  • En cas d'échec persistant, le statut bascule en Déconnecté (rouge) et un email est envoyé à l'administrateur du compte

Que faire en cas d'erreur OAuth ?

Statut « Déconnecté »

Le refresh token a été révoqué ou a expiré. Solution : reconnectez le compte en relançant le flow OAuth depuis l'onglet Configuration.

Erreur 407 / Rate limit

Le quota du provider est saturé. PVReactive met automatiquement le job en attente avec un retry programmé. Pas d'action requise — vérifiez le Monitoring PV APIs si la situation persiste.

Bouton Test API renvoie une erreur

Cliquez sur le bouton Test API dans la fiche du Provider Account — l'erreur précise renvoyée par le constructeur permet de diagnostiquer (zone serveur incorrecte, appsecret expiré, compte révoqué, etc.).

Sécurité des tokens

  • Tous les tokens (access, refresh, cookies de session) sont chiffrés en base de données
  • L'isolation par client garantit qu'un Provider Account d'un client A ne peut pas être utilisé par un client B
  • Les rotations de refresh token sont tracées dans la table t_oauth_refresh_token_families (audit)

Prochaines étapes