"Login por e-mail" alterna para strings incorretas quando "ocultar endereço de e-mail" está ativado

Reproduzir:

  1. Ative a configuração do site hide email address taken, que normalmente está desativada e é descrita como: “Não informar aos usuários que uma conta existe com um determinado endereço de e-mail durante o cadastro e no formulário de esqueci minha senha.”

  2. Em uma nova sessão do navegador, tente fazer login usando :email: com e-mail e forneça um nome de usuário inválido, como codinghorror.

Comportamento esperado

O texto da mensagem de erro deve aparecer a partir de uma das seguintes strings, sem revelar a existência ou não existência de uma conta.

js.email_login.complete_email:

Se uma conta corresponder a codinghorror@example.com, você receberá um e-mail com um link de login em breve.

js.email_login.complete_username:

Se uma conta corresponder a codinghorror, você receberá um e-mail com um link de login em breve.

Comportamento atual

O texto da mensagem de erro indica incorretamente que houve uma correspondência positiva, mesmo quando não há correspondência.

js.email_login.complete_email_found:

Encontramos uma conta que corresponde a codinghorror@example.com; você receberá um e-mail com um link de login em breve.

js.email_login.complete_username_found:

Encontramos uma conta que corresponde ao nome de usuário codinghorror; você receberá um e-mail com um link de login em breve.

Comentário

Embora isso funcione corretamente para o processo de “resetar senha”, parece que a mesma lógica deveria ser aplicada ao fluxo de login por e-mail.

2 curtidas

Não vejo isso como um bug. O comportamento está exatamente como descrito acima.

Mas, se temos o outro texto, deveríamos usá-lo neste cenário @eviltrout

1 curtida

Desculpe se isso foi confuso. O bug percebido é que, quando (e apenas quando) a opção “ocultar e-mail endereço já cadastrado” está ativa, e valores não correspondentes são inseridos para login baseado em e-mail:

Em vez de exibir as strings intencionalmente ambíguas js.email_login.complete_email e js.email_login.complete_username, ele exibe (erroneamente) um falso positivo usando as strings js.email_login.complete_email_found e js.email_login.complete_username_found.

Se a configuração do site estiver desativada (padrão), ele exibe corretamente as strings “nenhuma correspondência encontrada”.

4 curtidas

Isso deve resolver:

8 curtidas

Sim, isso parece correto agora. Obrigado! :trophy:

5 curtidas