再現手順:
-
サイト設定
hide email address takenを有効にします(通常は無効化されており、「サインアップ時およびパスワード再設定フォームで、指定されたメールアドレスを持つアカウントが存在することをユーザーに通知しない」と説明されています)。 -
新しいブラウザセッションから、
にメールアドレスを入力し、無効なユーザー名(例:codinghorror)を指定してログインを試みます。
期待される動作
アカウントの存在の有無を明かさない、以下のいずれかの文字列からのエラーメッセージが表示されます。
js.email_login.complete_email:
codinghorror@example.com に一致するアカウントがある場合、間もなくログインリンクを含むメールが届きます。
js.email_login.complete_username:
codinghorror に一致するアカウントがある場合、間もなくログインリンクを含むメールが届きます。
実際の動作
エラーメッセージが、実際には一致が存在しない場合でも、一致があったかのように誤って表示されます。
js.email_login.complete_email_found:
codinghorror@example.com に一致するアカウントが見つかりました。間もなくログインリンクを含むメールが届きます。
js.email_login.complete_username_found:
ユーザー名 codinghorror に一致するアカウントが見つかりました。間もなくログインリンクを含むメールが届きます。
コメント
「パスワード再設定」のプロセスでは正しく機能していますが、メールによるログインのワークフローでも同様のロジックが適用されるべきであるようです。