Customer Password Admin プラグイン¶
概要¶
管理者が Vendure Dashboard から顧客のパスワードを再設定できるようにする Admin API 拡張です。パスワードの検証、認証方式の更新、履歴記録、メール通知のトリガーをまとめて行います。
処理フロー¶
- 設定済みの
passwordValidationStrategyによる検証 NativeAuthenticationMethodのパスワードハッシュ更新- 未検証ユーザーの場合は
verifiedを更新 Customer.customFields.mustChangePasswordOnNextLoginをtrueに設定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.ts の passwordIssuedHandler が
PasswordIssuedEvent を受け取り、メール送信を行います。テンプレート変数は
password と customer を利用します。
テンプレートは 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.tspackages/plugins/src/email-handlers.ts