コンテンツにスキップ

Vendureメールアドレスログイン実装

📌 概要

VendureとNext.jsでのメールアドレスログイン基盤(管理者によるアカウント登録、setCustomerPasswordByAdmin、初回パスワード変更フロー、Seed顧客投入、認証バイパス制御)を一括で管理するIssue。

🎯 目的

  • 顧客自身による登録を禁止した上で、承認済み顧客のみがログインできる仕組みを提供する。
  • 管理者による初期パスワード設定・履歴記録・mustChangeフラグを実装し、営業/CS運用と整合させる。
  • Storefront側で必ずログイン状態を前提とし、テスト用Seed顧客+認証バイパスを安全に運用できるようにする。

📋 現状

  • docs/plans/email-login-implementation.plan.md に方針・タスクを整理済み。
  • setCustomerPasswordByAdmin プラグイン、Seed顧客投入 (pnpm seed:test-customers) の実行を確認。
  • mustChangePasswordOnNextLogin customField、Storefrontでの強制変更UI、Admin UIのパスワード設定モジュール、ドキュメント追記が未完。

✅ 完了条件

  • Vendure Customer customFields に mustChangePasswordOnNextLogin を追加し、Admin API/Dashboardから更新可能にする。
  • Storefront でログイン直後にフラグを評価し、専用画面でパスワード変更を強制するフローを実装。
  • ルートガード・認証バイパス設定・Seed顧客投入手順を docs/03-implementation/frontend/storefront-auth-bypass.md 等に反映し、QA手順を整備。
  • CustomerHistoryEntry に管理者によるパスワード変更履歴を追加し、顧客自身による変更と区別できる状態を確認。
  • pnpm seed:test-customerspnpm dev の手順でログイン必須シナリオを再現し、Storefront/管理画面でSeed顧客が利用できることを確認。

🔗 関連資料

  • /docs/plans/email-login-implementation.plan.md
  • /docs/03-implementation/frontend/storefront-auth-bypass.md
  • apps/vendure-server/src/seed-data.ts, apps/vendure-server/scripts/seed-test-customers.ts

📅 更新履歴

  • 2025-11-19: Issue新規作成(Seedコマンド確立・残タスク整理)。