Agent SDK Secrets & HMAC Signing
Agent SDK Secrets & HMAC Signing
Schützen Sie API Zugangsdaten des Agenten und verstehen Sie, wie der SDK zeitgestempelte, wiederholungsresistente HMACerzeugt –SHA256 Signaturen anfordert.
Agent SDK Anfragen werden mit einem Partner API geheim authentifiziert. Bewahren Sie dieses Geheimnis innerhalb eines vertrauenswürdigen Backend-Dienstes auf und lassen Sie die SDK wann immer möglich Signing-Felder generieren.
Zwei Unterzeichnungsprotokolle
Agent SDK Signing verwendet sortierte Anfragefelder, einen sekundenbasierten Zeitstempel und eine Nonce. Direkte Entwickler-API-Anfragen verwenden den separaten Prozess, der unter Request Signing beschrieben ist. Verwenden Sie das Nutzlastformat des einen Protokolls nicht für das andere.
Signierregel
Für Agent SDK Anfragen:
- Das
signFeld ausschließen. - Felder mit leeren Werten weglassen.
- Sortiere die verbleibenden Feldnamen in ASCII Reihenfolge.
- Die Felder wie
k=v&k2=v2verbinden. - Berechnen Sie die HMAC–SHA256 hexadezimale Signatur mit
apiSecret.
Das SDK sollte diesen Wert aus denselben Daten erstellen, die es sendet. Das Ändern eines signierten Feldes nach der Signaturgenerierung führt zum Fehlschlagen der Verifikation.
SDK verwaltete Felder
Geheime Speicherung
- Laden
apiSecretaus einem Backend-Secret-Manager oder einer geschützten Laufzeitkonfiguration. - Niemals das Geheimnis in Frontend-Bundles, mobilen Apps, Desktop-Clients, Screenshots oder Support-Tickets platzieren.
- Halten Sie die Zugangsdaten für Entwicklung, Bühnenaufstellung und Produktion getrennt.
- Begrenze den Zugang zu den Diensten und Betreibern, die sie benötigen.
- Löschen Sie Anfragesignaturen, Autorisierungswerte und Geheimnisse aus Protokollen.
- Zugangsdaten widerrufen und ersetzen, wenn eine Exposition vermutet wird.
Uhr- und Wiederholungsschutz
Das SDK enthält timestamp und nonce , um das Wiederspielrisiko zu verringern. Halten Sie die Backend-Uhren synchron und verwenden Sie keinen manuell erstellten Nonce. Wenn die Signaturvalidierung fehlschlägt, bestätigen Sie vor erneutem Versuch das konfigurierte Geheimnis, die Serverzeit, die serialisierten Felder und die Umgebung.