재현 방법:
-
기본적으로 비활성화되어 있으며, *“회원가입 및 비밀번호 찾기 과정에서 특정 이메일 주소로 계정이 존재한다는 것을 사용자에게 알리지 않습니다.”*라고 설명되어 있는 사이트 설정인
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에 해당하는 계정을 찾았습니다. 곧 로그인 링크가 포함된 이메일을 받게 됩니다.
코멘트
비밀번호 재설정 과정에서는 올바르게 작동하지만, 이메일 로그인 워크플로우에도 동일한 로직이 적용되어야 할 것 같습니다.