コンテンツにスキップ

Customer Password Admin プラグイン

概要

管理者が Vendure Dashboard から顧客のパスワードを再設定できるようにする Admin API 拡張です。パスワードの検証、認証方式の更新、履歴記録、メール通知のトリガーをまとめて行います。

処理フロー

  • 設定済みの passwordValidationStrategy による検証
  • NativeAuthenticationMethod のパスワードハッシュ更新
  • 未検証ユーザーの場合は verified を更新
  • Customer.customFields.mustChangePasswordOnNextLogintrue に設定
  • PasswordIssuedEvent を発行してメール通知をトリガー
  • 顧客履歴に CUSTOMER_PASSWORD_UPDATED を記録

Admin API

setCustomerPasswordByAdmin ミューテーションを追加します。

input SetCustomerPasswordByAdminInput {
  customerId: ID!
  password: String!
}

extend type Mutation {
  setCustomerPasswordByAdmin(input: SetCustomerPasswordByAdminInput!): Customer!
}

メール連携

packages/plugins/src/email-handlers.tspasswordIssuedHandlerPasswordIssuedEvent を受け取り、メール送信を行います。テンプレート変数は passwordcustomer を利用します。

テンプレートは apps/vendure-server/static/email/templates/password-issued/ に配置し、日本語の body.ja.hbs を既定テンプレートとして運用します。テンプレートの共通仕様は docs/03-implementation/vendure-plugins/email-templates.md を参照してください。

関連ファイル

  • packages/plugins/src/customer-password-admin.ts
  • packages/plugins/src/email-handlers.ts