SO でパスワードを回復することについては多くの質問がありますが、次の 2 つのいずれかを考慮してパスワードを変更することについてはありません。
1) ユーザーはすでにシステムで認証されています (user/pw または facebook/twitter などのサード パーティ認証を使用)
2) ユーザーは自分の古いパスワードを知っています。
これらの出発点を考えると、ユーザーが自分のパスワードを最小限の手順で変更できるようにするためのベスト プラクティスとは何かについて、2 つの明確な質問があります。
シナリオ (ユーザーは既に認証され、システムにログインしています):
古いパスワードを入力してください: _ __ _ _ _ (1: これを削除できますか)
新しいパスワードを入力してください: _ __ _ __ _
新しいパスワードを もう一度入力してください: _ __ _ _ _ ( 2: これを取り除くことはできますか)
1) ユーザーに古いパスワードを入力させなくても大丈夫ですか? この場合、ユーザーはすでにシステムに認証されていると想定しています。ユーザーにパスワードを再入力させるのは冗長に思えます。これは、セキュリティの高いアプリケーション (バンキングなど) にとって重要であり、ユーザーが無人でセッションを終了すると、この状況に陥ったパスワードを知らなくても、誰かが新しいパスワードを入力できるようになる可能性があることを理解しています。
私が提示している例では、アプリケーションのセキュリティはそれほど高くなく、リスクは低いです。また、第三者認証 (facebook/twitter) を許可しているため、理論的には、他の誰かがマシン上にいて、ユーザーが facebook/twitter のライブ cookie を持っていれば、アカウントに入ることができます。
2) ユーザーに新しいパスワードを 2 回入力させなくても大丈夫ですか。これはちょっと90年代っぽい感じです。現在、人々はパスワードに慣れており、パスワードを予想とは異なる方法で入力する可能性が 5% であっても、2 回入力するのに費やす時間よりも重要ではないようです。その 5% のシナリオでは、最悪の場合、パスワードをリセットする必要があります (または、facebook/twitter でログインしてリセットする必要があります)。現在これを行っていることがわかった Web サイトの 1 つに Quora があります (まだステップ 1 を行っていますが)。他の多くの人が同じことをしているのを見たことがありません。