Eine Übersicht über die Validierung von Anfragen aus HubSpot an eine Integration.
X-HubSpot-Signature-V3
-Header und folgen Sie den zugehörigen Anweisungen zum Validieren der v3-Version der Signatur .X-HubSpot-Signature-Version
-Header und befolgen Sie dann die folgenden Anweisungen, je nachdem, ob die Version v1
oder v2
ist.X-HubSpot-Signature-Version
-Header auf v1
festgelegt gesendet. Der X-HubSpot-Signature
-Header ist ein SHA-256-Hash, der mithilfe des Client-Geheimnisses Ihrer App in Kombination mit den Details der Anfrage erstellt wurde.
Um diese Version der Signatur zu überprüfen, führen Sie die folgenden Schritte aus:
Client secret
+ request body
(falls vorhanden).X-HubSpot-Signature
-Headers:
232db2615f3d666fe21a8ec971ac7b5402d33b9a925784df3ca654d05f4817de
X-HubSpot-Signature-Version
-Header auf v2
festgelegt gesendet. Der X-HubSpot-Signature
-Header ist ein SHA-256-Hash, der mithilfe des Client-Geheimnisses Ihrer App in Kombination mit den Details der Anfrage erstellt wurde.
Um diese Signatur zu überprüfen, führen Sie die folgenden Schritte aus:
Client secret
+ http method
+ URI
+ request body
(falls vorhanden).GET
-Anfrage benötigen Sie das Client-Geheimnis Ihrer App und bestimmte Felder aus den Metadaten Ihrer Anfrage. Diese Felder sind unten mit Platzhalterwerten aufgeführt:
yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
GET
https://www.example.com/webhook_uri
""
yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyGEThttps://www.example.com/webhook_uri
Nach der Berechnung eines SHA-256-Hashes der obigen verketteten Zeichenfolge würde die resultierende Signatur, die mit der im Header übereinstimmen sollte, wie folgt aussehen: eee2dddcc73c94d699f5e395f4b9d454a069a6855fbfa152e91e88823087200e
POST
-Anfrage benötigen Sie das Client-Geheimnis Ihrer App, bestimmte Felder aus den Metadaten Ihrer Anfrage und eine Zeichenfolgendarstellung des Anfragetextes (z. B. die Verwendung von JSON.stringify(request.body)
für einen Node.js-Dienst). Diese Felder sind unten mit Platzhalterwerten aufgeführt:
yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
POST
https://www.example.com/webhook_uri
{"example_field":"example_value"}
yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyyPOSThttps://www.example.com/webhook_uri{"example_field":"example_value"}
Nach der Berechnung eines SHA-256-Hashes der obigen verketteten Zeichenfolge würde die resultierende Signatur, die mit der im Header übereinstimmen sollte, wie folgt aussehen:9569219f8ba981ffa6f6f16aa0f48637d35d728c7e4d93d0d52efaa512af7900
Nach dem \[SHA-ing]] der Signatur können Sie die resultierende erwartete Signatur mit der im x-hubspot-signature-Header der Anfrage angegebenen Signatur vergleichen:
Im folgenden Snippet wird beschrieben, wie Sie eine v2
-Anfragevalidierung für eine GET
-Anfrage integrieren können, wenn Sie einen Express-Server ausführen, um eingehende Anfragen zu verarbeiten. Beachten Sie, dass der folgende Code-Block ein Beispiel ist und bestimmte Abhängigkeiten auslässt, die Sie möglicherweise benötigen, um einen voll funktionsfähigen Express-Dienst auszuführen. Vergewissern Sie sich, dass Sie die neuesten stabilen und sicheren Bibliotheken ausführen, wenn Sie die Anfragevalidierung für Ihren spezifischen Dienst implementieren.
X-HubSpot-Signature-v3
-Header ist ein HMAC SHA-256-Hash, der mit dem Client-Geheimnis Ihrer App in Kombination mit Details der Anfrage erstellt wird. Sie enthält auch einen X-HubSpot-Request-Timestamp
-Header.
Wenn Sie eine Anfrage mit dem X-HubSpot-Signatur-v3-Header validieren, müssen Sie:
Codierter Wert | Decodierter Wert |
---|---|
%3A | : |
%2F | / |
%3F | ? |
%40 | @ |
%21 | ! |
%24 | $ |
%27 | ' |
%28 | ( |
%29 | ) |
%2A | * |
%2C | , |
%3B | ; |
requestMethod
+ requestUri
+ requestBody
+ Zeitstempel (falls vorhanden). Der Zeitstempel wird vom X-HubSpot-Request-Timestamp
-Header bereitgestellt.POST
-Anfrage integrieren können, wenn Sie einen Backend-Service verwenden, um eingehende Anfragen zu verarbeiten. Beachten Sie, dass die folgenden Code-Blocks bestimmte Abhängigkeiten auslassen, die Sie möglicherweise benötigen, um einen voll funktionsfähigen Backend-Dienst auszuführen. Vergewissern Sie sich, dass Sie die neuesten stabilen und sicheren Bibliotheken ausführen, wenn Sie die Anfragevalidierung für Ihren spezifischen Dienst implementieren.