Я пытаюсь проверить Webhook API Smartsheet всякий раз, когда smartsheet отправляет запрос POST на мой URL обратного вызова. Кто-нибудь работал с этим раньше?
Мне нужно проверять, поступает ли запрос POST от Smartsheet, всякий раз, когда выполняется вызов на мой URL обратного вызова.
Следуя инструкции здесь :
To authenticate a callback request:
1. Calculate the HMAC of the webhook's sharedSecret and the request body.
This must be done using the SHA-256 cryptographic hash algorithm.
2. Format the calculated value as a string in base 16.
3. Compare your result with the value of the Smartsheet-Hmac-SHA256 header of the request.
Я использую Javascript. Я смог сгенерировать га sh. Я попробовал несколько подходов, ни один из них не работал. Основываясь на лучших практиках и на том, с чем я работал раньше, это должно работать:
crypto.createHash('sha256', sharedSecret).update(JSON.stringify(body)).digest('hex');
, но это не так, я даже попробовал это тоже:
crypto.createHash('sha256').update(sharedSecret+JSON.stringify(body)).digest('hex');
Это не работает.
Переменная body здесь взята из req.body, из полезной нагрузки, которую Smartsheet отправляет на мой URL обратного вызова, а sharedSecret - это секрет, предоставляемый Smartsheet при создании webhook.