web-dev-qa-db-ja.com

パスワードの回復時に、デバイスがすでにログインしている場合はどうしますか?

ユーザーがコンピューターでパスワードの回復を要求するとします。次に、システムはアカウントを復元するための一意のリンクをメールで送信します。

ただし、ユーザーがこのメールを受信し、携帯電話(またはその他のデバイス)で開いたとします。彼はリンクをクリックしますが、このデバイスではすでに別のアカウントとしてログインしています。

したがって、素朴な実装では、ユーザーはパスワードの回復すでにログインしている間を取得します。潜在的に別のアカウントに。これは、直感的ではないように感じます。しかし、正しい行動方針を実際に決定することはできません。いくつかのオプションが表示され、最小の驚きの原則に従っているのかと思います。

  • 現在の動作を維持し、ログインしているユーザーが別のユーザーのパスワードを変更できるようにする必要があります。
  • パスワード回復リンクを開いたときに現在のセッションを無効化/ユーザーがログアウトする必要がありますか?
  • すでにログインしているデバイスで開こうとすると、リンクが「機能しない」(禁止されたエラーですか?)

また、リクエストが「同じ」ユーザーに対するものである場合、この動作は変わりますか? (つまり、彼がすでにパスワードを要求しているユーザーにログインしている他のデバイス上のIE)?

2
paul23

うーん、「パスワードのリセット」画面は、ログインビューから切り離された一時的なトークン化された画面である必要があります。

つまり、ユーザーがデバイスにログインしていても、「パスワードのリセット」画面を開いても、表示される画面はそのログインアカウントとは何の関係もないはずです。必ずしもログアウトする必要はありません(個別のログインと同様にトークン化されたページを維持できるかどうかを判断するのは開発チームの責任です)。

混乱を避けるために、送信されたメールとそれらが表示される画面の両方で、パスワードをリセットするアカウントを明確にする必要があります(実際のリセット画面では、「[email protected]のパスワードを更新しようとしています」)。 。

1
Ben Paddock