Firecrawl はすべての Webhook リクエストに HMAC-SHA256 で署名します。署名を検証することで、リクエストが正当なものであり、改ざんされていないことを確認できます。
webhook シークレットは、アカウント設定のAdvanced タブで確認できます。各アカウントには、すべての webhook リクエストに署名するために使用される固有のシークレットが割り当てられています。
webhook シークレットは厳重に管理し、決して公開しないでください。漏えいした可能性がある場合は、直ちにアカウント設定から再生成してください。
各 webhook リクエストには、X-Firecrawl-Signature ヘッダーが含まれます:
X-Firecrawl-Signature ヘッダーから署名を取り出す
- パース前の生のリクエストボディを取得する
- シークレットキーを使って HMAC-SHA256 を計算する
- タイミングセーフな比較関数を使って署名を比較する
署名を検証せずに webhook を処理してはいけません。
標準的な文字列比較はタイミング情報を漏えいするおそれがあります。Node.js では crypto.timingSafeEqual() を、Python では hmac.compare_digest() を使ってください。
ペイロードが通信中も暗号化されるよう、Webhook エンドポイントには必ず HTTPS を使用してください。