Pular para o conteúdo principal

Password reset e first-access

Módulo: PasswordResetModule
Auth: rotas públicas (sem Bearer)
Tag Swagger: Central Auth — Autenticação

Password reset — /api/v1/auth/password-reset

MétodoRotaDescrição
POST/requestSolicitar redefinição (envia e-mail com link)
GET/tokenDecifrar token do link de reset
POST/confirmConfirmar nova palavra-passe

POST .../request

Gera código de 6 dígitos (TTL ~15 min via PASSWORD_RESET_CODE_TTL_SECONDS), grava logs_password_resets, envia SMTP com template lock_reset. O {{link}} leva ?token= AES-256-GCM.

Resposta 200 (não use o status para enumerar e-mails).

GET .../token?token=...

Decifra o token do link /reset-password?token=.... 200: email, codigo, expiraEm. 400 inválido/expirado.

POST .../confirm

Body: token ou par email + codigo, mais a nova senha. 204. 404 utilizador inexistente.


First access — /api/v1/auth/first-access

Fluxo de definição de palavra-passe no primeiro acesso (welcome).

MétodoRotaDescrição
GET/tokenDecifrar token do link de primeiro acesso
POST/confirmConfirmar palavra-passe (204)

Dependências

  • SMTP (smtpConfig) para envio de e-mails
  • Templates globais (email-templates) — ver 13-email-templates.md
  • Redis (quando configurado) para códigos/rate-limit conforme implementação