0

Smartsheet がコールバック URL に POST リクエストを行うたびに、Smartsheet の Webhook API を検証しようとしています。誰もこれを以前に使用したことがありますか?

コールバック URL への呼び出しが行われるたびに、POST 要求が Smartsheet からのものであることを確認する必要があります。

こちらのガイドに従ってください:

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を使用しています。ハッシュを生成できました。私はいくつかのアプローチを試みましたが、どれもうまくいきませんでした。ベストプラクティスと私が以前に取り組んだことから、これはうまくいくはずです:

crypto.createHash('sha256', sharedSecret).update(JSON.stringify(body)).digest('hex');

しかし、そうではありません。私もこれを試しました:

crypto.createHash('sha256').update(sharedSecret+JSON.stringify(body)).digest('hex');

動いていない。

ここでの body 変数は、Smartsheet がコールバック URL に送信するペイロードの req.body からのものです。sharedSecret は、Webhook を作成したときに Smartsheet によって提供されたシークレットです。

4

1 に答える 1