webhook(ウェブフック)は、web開発でカスタムのコールバックを用いてウェブページやウェブアプリケーションの動作を追加または変更するための方法である。このコールバックは、元のウェブサイトやアプリケーションはサードパーティのユーザーや開発者がメンテナンス、修正、管理できる場合がある。「webhook」という用語は、コンピュータプログラミングの用語hookから、2007年にJeff Lindsayによって作られた[1]。

フォーマットには、通常JSONが利用される。リクエストは、HTTP POST(英語版)リクエストとして行われる。

関数

webhookは「ユーザー定義のHTTPコールバック」である[2]。通常、コードをリポジトリにプッシュしたときや[3]、コメントがブログに投稿されたときなどのイベントによってトリガーされる[4]。イベントが発生すると、ソースサイトはwebhook用に設定されたURLにHTTPリクエストを送信する。ユーザーは、あるサイトのイベントによって、別のサイトの動作を呼び出すように設定できる。

一般的な用途には、継続的インテグレーションシステムでビルドをトリガーする[5]、バグトラッキングシステムに通知するなどがある。webhookはHTTPを使用するため、新しいインフラストラクチャを追加せずにWebサービスに統合することができる[6]。

webhook通知の認証

クライアント(発信元のWebサイトまたはアプリケーション)がサードパーティユーザーのサーバーにwebhook呼び出しを行う場合、スプーフィング攻撃を回避するために、受信したPOSTリクエストを認証する必要がある。クライアントを認証するためには、次にようなさまざまな手法がある。

関連項目

出典

[脚注の使い方]
  1. ↑ Web hook to revolutionize the web, (3 May 2007), オリジナルの2018-06-30時点におけるアーカイブ。
  2. ↑ “Webhooks”. Atlassian. 2019年9月24日閲覧。]
  3. ↑ About Webhooks - Github Help
  4. ↑ WordPress Webhooks
  5. ↑ Jenkins GitHub Commit Hooks HOWTO, オリジナルの2015-09-25時点におけるアーカイブ。
  6. ↑ What are WebHooks and How Do They Enable a Real-time Web?
  7. ↑ “DocuSign Connect Now Includes Basic Authentication Support”. DocuSign. DocuSign, Inc.. January 15, 2020閲覧。 “the Connect notification service has been updated to support the Basic Authentication scheme with customers’ Connect servers (listeners).”
  8. ↑ “Checking Webhook Signatures”. Stripe. Stripe, Inc. 12 May 2019閲覧。
  9. ↑ “Getting Started - Graph API - Documentation - Facebook for Developers”. Facebook. Facebook, Inc.. 12 May 2019閲覧。
  10. ↑ “Mutual TLS: Stuff you should know”. DocuSign. DocuSign, Inc.. January 15, 2020閲覧。 “Mutual TLS plus Client Access Control enables your listener app to ensure that the Connect notification message was sent by DocuSign and that it wasn’t modified en route.”

外部リンク

⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS D27