Skip to content

[FIX] Corrigir retorno de status ao realizar login com usuário inexistente #823

Description

@jhenniferknc

Qual é o problema?

Durante o desenvolvimento da issue #802, foi identificado que ao tentar realizar login com um e-mail que não está cadastrado no sistema, a API retorna 404 Not Found em vez de 401 Unauthorized. Esse comportamento expõe ao cliente (e a possíveis atacantes) que o e-mail informado não existe na base de dados, caracterizando uma vulnerabilidade de enumeração de usuários

Tarefas Relacionadas

Objetivo da Solução

O endpoint de login deve retornar 401 Unauthorized para qualquer falha de autenticação, sem revelar se o motivo foi a inexistência do usuário ou a senha incorreta. Isso é um requisito de segurança básico para sistemas de autenticação

Critérios de Aceite

  • Ao tentar login com e-mail não cadastrado, a API deve retornar 401 Unauthorized
  • A mensagem de erro não deve indicar se o problema é o e-mail ou a senha
  • O comportamento deve ser idêntico ao de senha incorreta (401 em ambos os casos)
  • O teste shouldReturnUnauthorizedWhenUserDoesNotExist deve passar com sucesso

Artefatos

Image

Observação de segurança: a combinação dos problemas das issues relacionadas permite que um atacante enumere e-mails cadastrados analisando os códigos de resposta: 400 (e-mail existe, senha errada) vs 404 (e-mail não existe).

Metadata

Metadata

Assignees

Labels

1Complexidade 1TestbugPara correções de erros.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions