Agent SDK Secrets & HMAC Signature
Agent SDK Secrets & HMAC Signature
Protégez les identifiants de l’agent API et comprenez comment le SDK génère des HMAChorodatés et résistants à la relecture –SHA256 demandez des signatures.
Agent SDK demandes sont authentifiées par un partenaire API secret. Gardez ce secret dans un service backend fiable et laissez le SDK générer des champs de signature dès que possible.
Deux protocoles de signature
Agent SDK signature utilise des champs de requête triés, un horodatage basé sur les secondes et un nonce. Les requêtes de API Direct Developer utilisent le processus séparé décrit dans Request Signing. Ne réutilisez pas un format de charge utile pour l’autre.
Règle de signature
Pour Agent SDK demandes :
- Excluez le champ
sign. - Omettre les champs avec des valeurs vides.
- Trier les noms des champs restants dans ASCII ordre.
- Rejoindre les champs comme
k=v&k2=v2. - Calculer la signature hexadécimale HMAC-SHA256 avec
apiSecret.
Le SDK devrait construire cette valeur à partir des mêmes données qu’il envoie. Changer un champ signé après la génération de signature provoque l’échec de la vérification.
SDK- champs gérés
Stockage secret
- Charger
apiSecretdepuis un gestionnaire de secrets backend ou une configuration d’exécution protégée. - Ne jamais placer le secret dans les packs frontend, applications mobiles, clients de bureau, captures d’écran ou tickets de support.
- Séparer les certifications pour le développement, la mise en scène et la production.
- Limiter l’accès aux services et opérateurs qui en ont besoin.
- Expurger les signatures de requête, les valeurs d’autorisation et les secrets des journaux.
- Révoquer et remplacer les identifiants lorsqu’une exposition est suspectée.
Protection contre l’horloge et les ralentis
Le SDK inclut timestamp et nonce pour réduire le risque de rediffusion. Gardez les horloges backend synchronisées et ne réutilisez pas un nonce construit manuellement. Si la validation de signature échoue, confirmez le secret configuré, l’heure du serveur, les champs sérialisés et l’environnement avant de réessayer.