ID情報の変更を関連付ける理由
- ユーザーのメールアドレスやプロフィールデータが変更されたときに、CRMのレコードを更新する。
- アカウントが無効化または削除されたときに、請求システムやライセンス管理システムに通知する。
- 同意やロールの更新など、ユーザー属性が変更されたときに、コンプライアンスワークフローを起動する。
- マーケティングプラットフォーム内のユーザーセグメントを、最新のIDデータと一致した状態に保つ。
仕組み
- Auth0 は、ユーザープロファイルが作成、更新、または削除されるとイベントを発行します。
- Event Stream は、そのイベントを送信先 (webhook、AWS EventBridge、または Auth0 Action) に配信します。
- ハンドラーは Auth0 ユーザーを外部システム内のレコードにマッピングし、該当する更新を適用します。
前提条件
- Events が有効になっている Auth0 テナント。利用可能なプランの詳細については、Create an Event Stream を参照してください。
- 必要なイベントタイプをサブスクライブしている、有効な Event Stream。詳細については、Create an Event Stream を参照してください。
- 更新対象の外部システムの API 認証情報 (例: CRM の API キーや OAuth トークン) 。
ID の関連付けを実装する
Auth0 ユーザーを外部レコードに紐付ける
app_metadata に保存された外部 ID で識別されます。指定した Auth0 ユーザーに対応する外部レコードを特定するルックアップ関数を定義します。
user.created への対応
user.updated を処理する
user.deleted を処理する
イベントをタイプ別にルーティングする
- Webhook
- Auth0 Action
HTTP
2XX レスポンスは、できるだけ速やかに返してください。外部 API の呼び出しに時間がかかる場合は、イベントを内部キューに入れて非同期に処理してください。詳しくは、Events Best Practices を参照してください。エッジケースに対処する
- 外部レコードが見つからない場合。
user.updatedイベントが、外部システムにまだ存在しないユーザーに対して届くことがあります。レコードを作成するのか、手動で確認できるようにログへ記録するのかを決めておきましょう。 - 外部APIのレート制限。 Auth0 からイベントが短時間に集中して配信されると (たとえば一括インポート中など) 、ハンドラーが外部APIのレート制限を超える可能性があります。制限内に収めるには、バックオフ付きの非同期キューを使用してください。
- 部分的なデータ。
user.updatedイベントには、毎回すべてのプロフィール項目が含まれているとは限りません。空の値でデータを上書きしないよう、イベントのペイロードに含まれている項目だけを反映してください。
例: HubSpot CRM と照合する
HUBSPOT_TOKEN という名前のシークレットを追加してください。詳しくは、Action Secrets をご覧ください。
連携の確認
- 外部システム内の対応するレコードに変更が反映されていること。
- Auth0 でテストユーザーを削除し、外部のレコードが無効化または削除されていることを確認すること。
- エラーやスキップされたイベントがないか、ハンドラーのログを確認すること。