ユーザーストーリー仕様
ユーザー認証
社員が安全にサービスにアクセスし、自分のデータを管理できるようにする
Purpose
社員が安全にサービスにアクセスし、自分のデータを管理できるようにする
US-001: サービスにアクセスしたい
ユーザー: connect-box.jp ドメインの社員 目的: サービスに安全にアクセスしたい 価値: 自分のスキルや成長を記録できる
要件
| ID | 条件 | 振る舞い | Skip |
|---|---|---|---|
first-login | When: 初めてログインしたとき | アカウントを自動作成しemployee権限を付与する | - |
login-dashboard | When: ログインしたとき | ダッシュボードを表示する | - |
logout | When: ログアウトしたとき | セッションを破棄しログイン画面を表示する | - |
logout-failure | If: ログアウトが失敗した場合 | エラートーストを表示する | - |
domain-restriction | If: @connect-box.jp 以外のドメインの場合 | 「このドメインではアクセスできません」とエラー表示する | - |
US-002: パスワードなしで安全にログインしたい
ユーザー: 社員 目的: パスワードを管理せずに安全にログインしたい 価値: パスワード漏洩のリスクなくサービスを利用できる
要件
| ID | 条件 | 振る舞い | Skip |
|---|---|---|---|
google-redirect | When: Googleログインボタンをクリックしたとき | Google認証画面にリダイレクトする | - |
magic-link-send | When: Magic Linkを選択してメールアドレスを入力したとき | ログインリンクをメール送信する | - |
magic-link-verify | When: 有効なMagic Linkをクリックしたとき | セッションを作成しダッシュボードを表示する | - |
invalid-token | If: リンクが無効な場合 | ログイン画面にリダイレクトしてエラー表示する | - |
magic-link-send-failure | If: Magic Link送信が失敗した場合 | エラーメッセージを表示する | - |
google-oauth-failure | If: Google OAuth開始が失敗した場合 | エラートーストを表示する | - |
US-003: 未認証時に保護されたい
ユーザー: 管理者 目的: 未認証状態でデータにアクセスできないようにしたい 価値: 情報が安全に保護される
要件
| ID | 条件 | 振る舞い | Skip |
|---|---|---|---|
auth-required | Always: ログイン画面以外の全ページを認証必須とする | - | ルートガードで一括制御のため同値分割により redirect-to-login で代表検証 |
redirect-to-login | When: 未認証でアクセスしたとき | 元のURLを保持しログイン画面にリダイレクトする | - |
redirect-back | When: ログイン成功したとき | 保持していた元のURLにリダイレクトする | - |