React Router
ユーザーストーリー仕様

ユーザー認証

社員が安全にサービスにアクセスし、自分のデータを管理できるようにする

Purpose

社員が安全にサービスにアクセスし、自分のデータを管理できるようにする

US-001: サービスにアクセスしたい

ユーザー: connect-box.jp ドメインの社員 目的: サービスに安全にアクセスしたい 価値: 自分のスキルや成長を記録できる

要件

ID条件振る舞いSkip
first-loginWhen: 初めてログインしたときアカウントを自動作成しemployee権限を付与する-
login-dashboardWhen: ログインしたときダッシュボードを表示する-
logoutWhen: ログアウトしたときセッションを破棄しログイン画面を表示する-
logout-failureIf: ログアウトが失敗した場合エラートーストを表示する-
domain-restrictionIf: @connect-box.jp 以外のドメインの場合「このドメインではアクセスできません」とエラー表示する-

US-002: パスワードなしで安全にログインしたい

ユーザー: 社員 目的: パスワードを管理せずに安全にログインしたい 価値: パスワード漏洩のリスクなくサービスを利用できる

要件

ID条件振る舞いSkip
google-redirectWhen: GoogleログインボタンをクリックしたときGoogle認証画面にリダイレクトする-
magic-link-sendWhen: Magic Linkを選択してメールアドレスを入力したときログインリンクをメール送信する-
magic-link-verifyWhen: 有効なMagic Linkをクリックしたときセッションを作成しダッシュボードを表示する-
invalid-tokenIf: リンクが無効な場合ログイン画面にリダイレクトしてエラー表示する-
magic-link-send-failureIf: Magic Link送信が失敗した場合エラーメッセージを表示する-
google-oauth-failureIf: Google OAuth開始が失敗した場合エラートーストを表示する-

US-003: 未認証時に保護されたい

ユーザー: 管理者 目的: 未認証状態でデータにアクセスできないようにしたい 価値: 情報が安全に保護される

要件

ID条件振る舞いSkip
auth-requiredAlways: ログイン画面以外の全ページを認証必須とする-ルートガードで一括制御のため同値分割により redirect-to-login で代表検証
redirect-to-loginWhen: 未認証でアクセスしたとき元のURLを保持しログイン画面にリダイレクトする-
redirect-backWhen: ログイン成功したとき保持していた元のURLにリダイレクトする-

On this page