このページのトピック
Webhook通信
場所 | Main Dashboard > Select {Account} > Settings > Communication settings > Update communication settings > Configure 'Webhook' |
Conformityでは、カスタムWebhookチャネルを介して送信される通知がサポートされています。これらの通知は、ユーザが作成したチャネルに送信され、関連するすべてのユーザが通知を受信します。
- Create a Webhook channelをクリックします。
- 自動通知を設定します。
- トリガを設定します。
-
Configure nowで、次のパラメータを使用してWebhookチャネルを追加できます。
-
Webhook URL: 「https」を使用した安全なWebhook URLを入力してください
- _URLの先頭をhttp://にすることはできません( https://)_のみ
- URLにlocalhostを含めることはできません
- URLにIPアドレスを含めることはできません
-
Webhookセキュリティトークン
base64以外の文字は使用できません
-
**Conformityからのペイロードの検証 **
オプションのセキュリティトークンを設定する場合、 Conformity は、このトークンを使用して各ペイロードでハッシュ署名を作成します。ハッシュ署名は、要求ごとにヘッダで指定したURLにXConformity-Signatureとして渡されます。 。
提供されたセキュリティトークンを使用してハッシュを計算し、エンドからのハッシュがエンドと一致するようにします。ハッシュ署名は Conformity から生成され、HMAC 16進(sha-256)を使用するため、次の例のようにサーバを設定できます。
const signatureHash = request.headers["X-Conformity-Signature"];
const hmac = crypto.createHmac("sha256", YOUR_SECURITY_TOKEN);
const digest = Buffer.from(
hmac.update(JSON.stringify(PAYLOAD_BODY)).digest("hex")
);
const checksum = Buffer.from(signatureHash, "utf8");
if (
checksum.length !== digest.length ||
!crypto.timingSafeEqual(digest, checksum)
) {
console.log('Request body digest(${ digest }) did not match X - Conformity - Signature(${ checksum })');
throw new Error("Hashes do not match!");
}
console.log("Hashes match!");
チャネルが正常に作成されると、 Communication SettingsからWebhookチャネルを確認できるようになります。