メインコンテンツへスキップ
Webhook を使用すると、イベントを外部の Web サーバーに配信できます。Auth0 では、イベントをサードパーティのログ管理・分析システムに自動的にプッシュする統合を複数提供しています。ただし、使用しているサードパーティシステムがサポートされていない場合は、カスタム Webhook 統合を設定できます。
各 Webhook 設定で登録できるペイロード URL は 1 つだけですが、同じ URL を複数のストリームで使用できます。ペイロードは JSON Lines 形式で配信されます。Webhook 設定でログを取り込む際は、この点に注意してください。

API エンドポイントを設定する

単一のルート (/api/logs など) を持ち、HTTP POST リクエストを受け付ける API を構築します。
自己署名 HTTP 証明書はサポートされていません。

ログストリームを設定する

  1. Dashboard > Monitoring > Streams に移動し、Create Stream をクリックします。
    Dashboard Monitoring Streams
  2. Custom Webhook を選択し、新しいストリームの一意の名前を入力します。
  3. 次の設定を行います。
    Dashboard Monitoring Streams Custom Webhook Settings Tab
    設定説明
    名前この統合を他の統合と区別するための一意の表示名です。
    Payload URLイベントのペイロードが HTTP POST リクエストとして送信される URL です。
    Authorization Token(任意) リクエストの Authorization ヘッダーに含まれる値です。
    Content Typewebhook に配信されるペイロードのメディアタイプです。
    Content FormatJSON Lines、配列、またはオブジェクト形式でデータを受信します。
    Filter by Event Categoryログストリームフィルターの一覧です。
    Starting Cursor(任意) ストリームの開始日時を指定します。
  4. Save をクリックします。

設定をテストする

  1. Health ビューに切り替え、Stream StatusActive になっていることを確認します。
  2. ログイン、トークン交換、Auth0 Management API 呼び出しなど、テナントのログイベントが生成される操作を実行します。
  3. そのイベントがテナントログに作成されていることを確認します。
  4. イベントデータを含む HTTP POST リクエストを API が受信したことを確認します。
  5. Health ビューに移動し、エラーが発生していないことを確認します。

Webhook のトラブルシューティング

Webhook が機能していない場合、問題の原因を特定するのは簡単ではありません。Webhook は非同期で動作するため、テストでは webhook をトリガーしてしばらく待ち、その後レスポンスを確認する必要があります (レスポンスが返ってきた場合) 。 ただし、上記のような非効率な手順以外にも方法はあります。特定の webhook の詳しいトラブルシューティング方法はこの記事の範囲外ですが、デバッグには次のような手順を試せます。
  1. Auth0 Dashboard > Monitoring > Logs を確認し、参考になるメッセージがないか調べます。
  2. MockbinBeeceptor、または (セルフホスト型の) RequestBin などのツールを使用して、webhook から送信されるリクエストを分析します。
  3. cURL や Postman を使ってリクエストをモックします。
  4. localtunnelngrok などを使用して、webhook のコードをローカルでテストします。
  5. RunscopeAssertible などのツールを使って、実行フロー全体を確認します。

詳細はこちら