Auth0 Event Streamsで認証基盤の変更イベント連携開発を加速

Auth0 Event Streamsで認証基盤の変更イベント連携開発を加速

2025.12.11

本ブログはClassmethod SaaSで加速するゲーム開発 Advent Calendar 2025の11日目のブログとなります。

https://dev.classmethod.jp/referencecat/gamesol-businesssol-advent-calendar-2025/

はじめに

今年(2025年)Auth0に「Event Streams」というAPIコールバックみたい便利な機能が発表されました(2025年12月現在、まだEarly Access段階です:https://auth0.com/changelog#4SmjmcbmVZgt1Zsn7JYF1V)。

これまでは、Auth0のログをAmazon EventBridgeに流す「Log Streams」機能を使って監視を行ってきました。「Event Streams」は名前が似ていますが、用途としては大きく違います。

実際にWebhookを使ってローカル環境で検証してみたので、その違いとセットアップ手順をまとめます。

Log Streams と Event Streams の違い

Auth0のドキュメントや実際の挙動を確認したところ、この2つは役割が異なります。

  • Log Streams (監視・監査): (Amazon EventBridge経由など)外部に転送し、長期保存や分析を行うための機能。
  • Event Streams (連携・アクション): ユーザーやOrganizationなどのステータス変更をトリガーに、外部システムへWebhook等で通知を送るための機能(APIコールバックに近いイメージ)。

これまでは「ユーザー登録時に何か処理をしたい」場合、Log Streamsを解析するかActionsを書く必要がありましたが、Event Streamsを使えば、必要なイベントだけをほぼリアルタイムに受け取って次のアクションにつなげることができます。

検証環境の準備

今回は「Event StreamsからWebhookを受け取る」検証を行います。
検証用として、パブリックにアクセス可能なWebhook URLを用意してください。

Auth0 Event Stream のセットアップ手順

Auth0ダッシュボードに移動し、Event Streamsを設定します。

Screenshot 2025-12-10 at 1.12.35 AM

Screenshot 2025-12-10 at 1.14.58 AM

Screenshot 2025-12-10 at 10.09.31 PM

Screenshot 2025-12-10 at 10.09.41 PM

  1. Create Event Stream: サイドバーの Event Streams から Create Event Stream をクリック。
  2. Select Type: Webhook を選択。
  3. Configuration:
    • Name: 任意の名前(例: test
    • Endpoint: 先ほどHookdeckで発行されたURL (https://webhook.xxx/...) を入力。
    • Authorization: ここがポイントです。
      • 現在のUIでは認証設定が必須になっています。
      • 検証用でバックエンドの検証ロジックがまだない場合でも、形式上 Bearer を選択し、Token欄に適当な文字列(例: secret123)を入力すれば進めます。Auth0はこのトークンをヘッダーに付与して送ってくるだけなので、受け取り側で無視すればテストは可能です。
  4. Select Events: リクエストをトリガーするイベントを選択(例: user.created, organization.connection.removed など)。

テストイベントの送信とPayloadの確認

Screenshot 2025-12-10 at 10.10.03 PM

設定が完了すると、画面上に Send A Test Event というボタンが表示されます。これを押すと、実際のイベント発火を待たずにテストリクエストを送信できます。

Screenshot 2025-12-10 at 9.40.38 PM

Webhookの受け取り先を確認すると、以下のようなPayloadが届いているはずです。
Payloadに必要な情報(例えば:ユーザー登録、組織ユーザー追加など)が構造化されて入っています。

{
  "specversion": "1.0",
  "id": "evt_nr4jmfZBjC7k94xVCpjK6n",
  "source": "urn:auth0:xxx.auth0app.com",
  "type": "organization.connection.removed",
  "time": "2025-12-10T04:13:07.235Z",
  "data": {
    "object": {
      "organization": {
        "name": "my-organization",
        "id": "org_1234567890abcdef"
      },
      "connection": {
        "id": "con_kFOHQUeaCSC1Kjqz"
      }
    }
  },
  "a0purpose": "test",
  "a0stream": "est_f2aujheK8warxExrWCqfSt",
  "a0tenant": "azure-koala-53216"
}

まとめ

  • Log Streams は「記録・監視」用。
  • Event Streams は「アクション・連携」用。APIのコールバックのような感覚で使えます。
  • Auth0側の設定でAuthorizationヘッダーが必須でも、テスト段階ではダミーのBearerトークンを設定すれば疎通確認は可能です(本番では必ず認証しましょう:basic / bearer )。

これまではLogをパースしたりポーリングしたりして実装していた連携処理が、Event Streamsによってクリーンなイベント駆動アーキテクチャに置き換えられそうです。Early Access機能ですが、今後の正式リリースが楽しみです。

この記事をシェアする

FacebookHatena blogX

関連記事