Webhook開発ガイド

Webhookをlocalhostで受信・テストする方法

公開HTTPS URLでWebhookをlocalhostへ転送し、ログ確認と開発用エンドポイント保護を行います。

接続先の例

127.0.0.1:3000

Callback URL

公開HTTPS

主な用途

OAuth・Webhook

公開手順

  1. 01

    受信handlerを起動する

    アプリを起動し、http://127.0.0.1:3000/webhooks/exampleなどのcallback pathがローカルで動くことを確認します。

  2. 02

    HTTPトンネルを開始する

    Launcherの「Webアプリ」またはCLIでポートを公開します。

    proxlane http 3000
  3. 03

    外部サービスへURLを登録する

    公開HTTPS URLへ同じpathを追加し、開発用Webhook設定へ保存します。例: /webhooks/example。

  4. 04

    テストイベントを送る

    外部サービスからテストを実行し、ローカルアプリとProxlane Logsを確認します。署名機能がある場合はアプリ側の検証を有効にします。

固定callback URLが必要な場合

ランダムhostnameは再起動後に変わることがあります。OAuth redirect URIや事前登録が必要なWebhookには、対応プランの固定hostnameまたは検証済み独自ドメインを使用します。

secretを表示せず通信を確認

Proxlaneは調査用のrequest metadataを記録します。AuthorizationやCookieなどの機密値は伏せられますが、アプリ側のWebhook署名検証は引き続き必要です。

開発用callbackを制限する

送信元が認証情報や固定IPに対応する場合はRelay側保護を追加できます。Basic Authを送れないproviderへ無理に設定せず、provider固有の署名を利用してください。

うまく接続できない場合

Provider側でtimeoutになる

ローカルhandlerが短時間でresponseを返すか確認します。長い処理はqueueへ渡し、先に成功responseを返してください。

公開URLが404になる

トンネルが変更するのはhostです。ローカルアプリと同じpathとHTTP methodを公開URLにも指定します。

署名検証に失敗する

署名計算には元のrequest bodyを使います。検証前にJSONをparseして再生成するとbyte列が変わることがあります。

よくある質問

OAuth callbackにも使えますか?

利用できます。redirect URIを登録したまま維持する場合は固定hostnameを使ってください。

Proxlaneの保護で署名検証は不要になりますか?

不要にはなりません。アプリ側でもprovider署名、時刻、replayを検証してください。

Proxlane

ローカルサービスを公開する

関連ガイド