サイトのログイン画面からパスワードが変更できません

Topic summary

Shopify「Debut」テーマのログイン画面で「パスワードをお忘れですか?」を押してもパスワード再発行フォームが表示されない不具合。サイトは会員限定設定で、EasyLockdownで一部商品を特定ユーザーに限定表示。アプリ側でパスワード変更URLを許可しても効果なし。

Debut 17.13.0では、再発行フォームはログインページ内にあり、リンク押下でJavaScriptがDOMを書き換え、id=RecoverPasswordFormからclass=hideを外して表示する仕組み(customers/login.liquidに該当DOM)。

確認ポイント:

  • id=RecoverPasswordFormが変更されていないか
  • フォームDOMがcustomers/login.liquidに存在するか
  • JavaScriptの処理(表示切替)を改変していないか
  • CSSで当該DOMが非表示になっていないか

最終結果: theme.jsを修正して解決。アプリ開発者の指摘により問題箇所を特定。Debutの素の状態では再発行画面は表示されるため、複数アプリ設定の競合が原因と推定(当該アプリ自体の不具合ではないとの回答)。

対応状況: 解決済み。今後は再発防止のため競合検証を継続。

Summarized with AI on February 16. AI used: gpt-5.

お世話になります。

【前提】

・テンプレート「Debut」を使用。

・オンラインストアは会員限定としています。

(Shopifyブログの手順で設定 https://www.shopify.com/jp/blog/shopify-members-only-store)

・他、アプリで「EasyLockdown Access Management」を使用し、特定商品を特定ユーザーにしか表示しないように設定中です。

【問題】

・ログイン画面にて、「パスワードをお忘れですか?」をクリックしても、パスワード発行ページが表示されない。

【ご相談】

パスワード画面を表示するための方法、また確認すべき点はございますでしょうか。

metaタグで「ログインしていなければなければ、ログインページ(account/login?checkout_url=/)を表示する」としている箇所を何らか変更で解決できるでしょうか。

ご助言いただけますと、大変助かります。

なお、「EasyLockdown」アプリで、ログインしていないユーザに対してパスワード変更のURLを許可しようとしましたが、効果はありませんでした。

よろしくお願いいたします。

私が確認した限りでの回答になりますので、誤りがあった場合はご容赦ください。

Debutのバージョンにもよりますが、

私が確認したDebut 17.13.0では、

「パスワード発行ページ」は、

ログインページと同一のページです。

ログインページの中に、

パスワード発行用のフォームが埋まっており、

「パスワードをお忘れですか?」をクリックすると、

JavaScriptがDOM(HTML)を書き換え、

ログインフォームを隠して、

パスワード発行フォームを表示します。

パスワード発行フォームのDOM(HTML)は下記のようでした。

「パスワードをお忘れですか?」をクリックすることで、id=RecoverPasswordFormのdivのclassからhideが削除され、パスワード発行フォームが表示される、

という仕掛けです。


        

          ## パスワードをリセットする
          

パスワードをリセットするためのメールを送ります。

        

        
          
        

  • divのidが、RecoverPasswordFormから変わってしまっていないか
  • このDOM(HTML)に相当するものが、customers/login.liquidに存在するか
  • JavaScriptの処理を変更してしまっていないか
  • CSSを変更し、このDOM(HTML)が表示されないようにしてしまっていないか

などを確認されると良いかと思います。

あくまで、参考まで。

(キュー田辺)

1 Like

Qcoltd様

ご回答いただきありがとうございます。

ご回答いただいた内容をもとに、改めて見直しを行いました。

最終的にですが、「'theme.js」を修正することで、問題を解決しました。

今回この問題を解決するにあたり、インストールをしているアプリの制作者様にも問い合わせをしたところ、問題箇所の指摘をしていただきました。

(ご回答をいただいたアプリ側からは、「アプリ自体の問題ではない」ともご連絡いただいております)

アプリをインストールしていない状態のDebutでは問題なくパスワード設定画面が表示されるため、

複数アプリの設定を重ねたことで、なんらか競合による問題が発生したと考えております。

この辺りについては、今後再発がないよう検証をしたいと思います。

この度はご回答いただきまして、ありがとうございます。

JavaScript自体には編集をしていなかったたので、ご指摘いただいたことで改めて確認をすることができました。

とても助かりました!

1 Like