Passer au contenu principal

Protéger les clés partenaire

Les clés partenaire autorisent des opérations à l’échelle du projet. Stockez-les dans un gestionnaire de secrets côté serveur ou une variable d’environnement chiffrée, et injectez-les uniquement dans des processus backend de confiance.
N’envoyez jamais une clé partenaire à votre frontend, que ce soit comme configuration, réponse d’API, paramètre de requête ou variable d’environnement rendue. Votre backend doit exposer des endpoints restreints qui autorisent le client connecté avant d’appeler Social media studio.
Utilisez des clés pk_test_ pendant le développement et des clés pk_live_ uniquement en production. Séparez les projets de test et de production, renouvelez régulièrement les clés et révoquez une clé immédiatement si elle a pu être exposée.

Autoriser chaque opération client

Le SDK authentifie votre application, pas le client qui utilise votre produit. Avant chaque appel au SDK :
  1. Authentifiez le client dans votre application.
  2. Retrouvez sur votre serveur le endUserId Social media studio stocké pour ce client.
  3. Vérifiez que les identifiants de connexion et de publication demandés appartiennent à ce client.
  4. Appelez le SDK avec ces identifiants résolus côté serveur.
N’acceptez jamais un endUserId arbitraire venant d’un navigateur pour le transmettre sans vérifier l’appartenance dans votre base de données.

Portées des clés

Les clés partenaire peuvent être restreintes aux capacités dont un service a besoin : Utilisez si possible des clés distinctes, au moindre privilège, pour les services indépendants.

Gérer les erreurs du SDK

Chaque requête d’API échouée lève une SoMePlatformError :
Pour la création de publications, les nouvelles tentatives ne sont sûres que si vous réutilisez la même clé d’idempotence. Ne relancez pas aveuglément les autres opérations d’écriture, sauf si votre application peut en confirmer le résultat.

Journalisation

Journalisez le contexte de la requête : identifiant de votre client, identifiant de l’utilisateur final, opération, statut HTTP et clé d’idempotence. Ne journalisez pas les clés partenaire complètes, les secrets de webhook, les jetons OAuth, les URL d’import pré-signées ni les métadonnées sensibles des clients.