Webhook開発ガイド
Webhookをlocalhostで受信・テストする方法
公開HTTPS URLでWebhookをlocalhostへ転送し、ログ確認と開発用エンドポイント保護を行います。
接続先の例
127.0.0.1:3000
Callback URL
公開HTTPS
主な用途
OAuth・Webhook
公開手順
- 01
受信handlerを起動する
アプリを起動し、http://127.0.0.1:3000/webhooks/exampleなどのcallback pathがローカルで動くことを確認します。
- 02
HTTPトンネルを開始する
Launcherの「Webアプリ」またはCLIでポートを公開します。
proxlane http 3000 - 03
外部サービスへURLを登録する
公開HTTPS URLへ同じpathを追加し、開発用Webhook設定へ保存します。例: /webhooks/example。
- 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