Ich schreibe ein CGI-Skript (Perl auf Apache, kein anderes Framework), das ein Webhook-Endpunkt sein soll. Die technischen Details sind, dass es Ereignisse von einem Shopify-Shop erhalten soll, aber das ist halb irrelevant. Shopify teilt mir mit, dass ich, um zu überprüfen, dass der Webhook von ihnen stammt, den HMAC mit einem geheimen Schlüssel berechnen muss, den sie bereitstellen, und sicherstellen, dass er mit dem Wert in der Kopfzeile X-SHOPIFY-HMAC-SHA256
übereinstimmt. Ich habe requestb.in verwendet, um den Webhook zu betrachten, wie er gesendet wird, und ich kann überprüfen, dass der HTTP-Client, den sie verwenden, den X-Header sendet.Mein CGI-Skript erhält keine benutzerdefinierten Header
Wenn jedoch mein CGI-Skript läuft, bekomme ich nur die Bog-Standard-Header. X-SHOPIFY-HMAC-SHA256 wird weder im Perl-CGI-Modul noch in den Umgebungsvariablen %ENV
gefunden. (Ich lese How do I access the HTTP Header of request in a CGI script? und How to fetch HTTP headers in perl when using CGI)
Ich benutze cgiwrap, um mein Skript zusätzliche Rechte zu erhalten, aber das sollte mich nicht davon abhalten, die Header richtig zu sehen?
Welche Webserver oder Rahmen verwenden Sie? – Sebastian
Einfach nur Perl auf Apache, kein Framework. – AnotherParker