Webhookを使用してカスタムログストリームを作成する
Webhookは外部のWebサーバーにイベントを届けるようにします。Auth0はサードパーティのログ管理や分析システムに自動的にイベントをプッシュする複数の統合を提供します。サードパーティのシステムがサポートされていない場合、カスタムのWebhook統合をセットアップできます。
APIエンドポイントを構成
1つのルート(/api/logs
など)を提供するAPIを構築し、HTTP POST
要求を受け入れます。
ログストリームを構成する
[Dashboard]>[Monitoring(モニタリング)]>[Streams(ストリーム)]に移動して、[Create Stream(ストリームの作成)]をクリックします。
[Custom Webhook(カスタムWebhook)]を選択し、新しいストリームに対して一意の名前を入力します。
次の設定を行います。
設定 説明 Name(名前) この統合を他の統合と区別する一意の表示名です。 Payload URL(ペイロードURL) イベントのペイロードをHTTP POST要求として送信するURLです。 Authorization Token(認可トークン) (任意)要求のAuthorizationヘッダーに含まれる値です。 Content Type(コンテンツタイプ) Webhookに転送されるペイロードのメディアタイプです。 Content Format(コンテンツ形式) JSONの行、配列またはオブジェクトでデータを受信します。 Filter by Event Category(イベントカテゴリーでフィルター) ログストリームフィルターのリストです。 Starting Cursor(開始カーソル) (任意)ストリームを開始する日時を指定します。 [Save(保存)]をクリックします。
構成をテストする
[Health(ヘルス)]ビューに切り替え、[Stream Status(ストリームステータス)]が[Active(アクティブ)]になっていることを確認してください。
ログイン、トークン交換、Auth0 Management APIの呼び出しなどのテナントログイベントを作成するアクションを実行します。
イベントがテナントログに作成されたことを確認します。
APIがイベントデータと一緒に
HTTP POST
要求を受け取ったことを確認します。[Health(ヘルス)]ビューに移動し、エラーが起きていないことを確認します。
Webhookのトラブルシューティング
Webhookが動作しない場合、トラブルシューティングや原因の特定が困難なことがあります。Webhookは非同期なため、テストするためには、Webhookをトリガーして待機し、応答を確認しなければなりません(応答があったと仮定した場合)。
しかし、もっと効率の良い方法が他にあります。この記事では、個々のWebhookのトラブルシューティング方法を詳しく説明することはできませんが、デバッグのためにできるいくつかのステップをご紹介しておきます。
[Auth0 Dashboard]>[Monitoring(モニタリング)]>[Logs(ログ)]で役に立つメッセージを確認してください。
Mockbin、Beeceptor、または(自己ホスト型の)RequestBinなどのツールを使用して、Webhookが出している要求を分析します。
cURLまたはPostmanを使用して要求をモックします。
localtunnelやngrokなどを使用して、Webhookコードをローカルでテストします。
RunscopeやAssertibleなどのツールを使用して、実行フロー全体を監視します。