Skip to content

feat(auth): allow login with email or username#13

Merged
lucas-adm merged 1 commit intoNoteHubBR:mainfrom
lucas-adm:feat/login-by-identifier
Mar 25, 2026
Merged

feat(auth): allow login with email or username#13
lucas-adm merged 1 commit intoNoteHubBR:mainfrom
lucas-adm:feat/login-by-identifier

Conversation

@lucas-adm
Copy link
Copy Markdown
Member

Sumário

Substituição do campo username por identifier no fluxo de autenticação, permitindo que o usuário faça login com e-mail ou username.

Alterações

  • AuthREQ: campo username renomeado para identifier, com validações ajustadas para aceitar e-mail e username
  • TokenServiceImpl: lógica de detecção via contains("@") para direcionar a query correta
  • TokenService: assinatura do método de autenticação atualizada
  • AuthController: documentação Swagger ajustada para refletir o novo campo
  • ControllerAdvice: ajuste nas mensagens de erro relacionadas ao identificador

Necessidade

O fluxo anterior exigia que o usuário lembrasse do username cadastrado. A mudança melhora a experiência permitindo autenticação com e-mail, que é mais intuitivo e comum em aplicações modernas.

Teste manual

  1. Realizar login com identifier sendo um username válido
  2. Realizar login com identifier sendo um e-mail válido
  3. Tentar login com identificador inexistente — esperar 401
  4. Tentar login com senha incorreta — esperar 401

Checklist

  • Código segue o padrão do projeto
  • Documentação atualizada
  • Testes adicionados/atualizados

Breaking Changes

  • O campo username no body da requisição POST /login foi renomeado para identifier — clientes que consomem esta rota precisam atualizar o payload.

@lucas-adm lucas-adm merged commit 65c890e into NoteHubBR:main Mar 25, 2026
1 check passed
@lucas-adm lucas-adm deleted the feat/login-by-identifier branch April 7, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant