UserLifecycleEvent 実装ガイド
このドキュメントの目的
UserLifecycleEventの仕組みを理解することが目標です。
所要時間
⏱️ 約10分
前提知識
UserLifecycleEventとは
目的: 「ユーザー状態を変更する」アクション
認証失敗5回 → UserLifecycleEvent(LOCK) → User.status = LOCKED → トークン全削除
特徴:
- ✅ 状態変更: ユーザーステータス・トークン・関連データを変更
- ✅ 非同期処理: 別スレッドでデータ削除・外部サービス連携
- ✅ 副作用あり: SecurityEvent(user_locked)等を再発行
SecurityEventとの違い
| 項目 | SecurityEvent | UserLifecycleEvent |
|---|---|---|
| 目的 | 監視・監査 | 状態変更 |
| 状態変更 | しない | する |
| 用途 | ログ記録・外部通知 | ユーザー操作のトリガー |
| 例 | password_failure | LOCK |
使い分け: SecurityEventは「監視」、UserLifecycleEventは「アクション」