マイページでのパスワード変更

AI-generated summary

マイページ上に「パスワード変更専用ページ」を追加できるか、Liquid編集やアプリ利用で実現可能かが相談された件。結論として、Customer Fieldsのようなアプリでは通常対応できず、実装するならテーマで専用のリセット画面を作るか、Storefront APIのcustomerResetミューテーションを使う方法が示された。

その後、アプリ開発元への確認結果として、ログイン済み顧客にはパスワード項目を自動非表示にする仕様だと共有された。これは、登録メールアドレスへのアクセス確認なしにパスワードが変更されるのを防ぐためで、Shopifyのベストプラクティスに沿った設計との説明。

現時点で推奨される運用は以下の通り。

  • ログインページの「パスワードを忘れた」「パスワードのリセット」を使う
  • 管理画面からパスワードリセットメールを送る

独自に回避する実装は技術的には可能だが非推奨という整理で、質問者もその方針に納得し、実質的に解決している。

会員登録やログイン後、マイページでパスワードの変更だけできるページを追加したいと考えております。

liquidを編集すれば実現可能でしょうか?

それともcutomer fieldsのようなアプリを使用すればできるのでしょうか?

パスワード変更は、custom filedsではできないと思います。

下記を参考にして、パスワード変更だけの画面をテーマに作るか、storefront APIでリセット画面を別途作るかだと思います。

https://shopify.dev/docs/themes/files/customers-reset-password-liquid

https://shopify.dev/docs/storefront-api/reference/mutation/customerreset

アプリの開発元に問い合わせたところ、

デフォルトでは、アプリで作成されたフォームは、顧客がすでにアカウントにログインしている場合、パスワードフィールドを自動的に非表示にするように設計されています。

これは、登録されているメールアドレスにアクセスできることを確認せずに、お客様が誤ってパスワードを変更することを防ぐためです。

カスタムフォームを作成すると、技術的にこのロジックを回避できますが、そうすることは、Shopifyの顧客パスワードのベストプラクティスに反すると見なされます。

現在、顧客がパスワードを変更するための最良の方法は、ログインページの「パスワードを忘れた」または「パスワードのリセット」ツールを使用することです。

または、Shopify管理者から「パスワードのリセット」メールを送信することもできます。

とのことでした。変更するような仕様にすることはユーザーにとってもメリットがないのであえてそういう仕様にしているようですね。

ご対応ありがとうございました。