Implementacao #934
Atualizado por Rodrigo Admin há 14 dias
# Implementação de Segurança e Autenticação Avançada (Sprint 3)
Esta tarefa contempla a implementação do sistema de Refresh Tokens, recuperação de senha com serviço de e-mail mockado e refatoração do gerenciamento de API Keys.
## Entregas Realizadas
### 1. Modelagem de Banco de Dados
- Adição dos modelos `RefreshToken` e `PasswordResetToken` no `schema.prisma`.
- Execução de migration: `20260406213104_add_auth_tokens`.
### 2. Infraestrutura de E-mail (Mock)
- Criação do `MailModule` e `MailService` para fins de desenvolvimento e testes de fluxo de notificações.
### 3. Refatoração de API Keys
- Migração da lógica de chaves para um serviço dedicado (`ApiKeysService`) com suporte a transações SQL atômicas durante o registro de tenants.
### 4. Melhorias de Autenticação
- **Refresh Token Rotation**: Implementação de par Access Token (48h) + Refresh Token (7d) com rotação automática para maior segurança.
- **Password Recovery**: Fluxo completo de `forgot-password` e `reset-password`.
## Verificação
- Testes E2E atualizados e passando: `npm run test:e2e test/auth.e2e-spec.ts`.
## Plano de Implementação Relacionado
- Adicionado `RefreshToken` e `PasswordResetToken` ao esquema Prisma.
- Refatorado `TenantsService` para utilizar `ApiKeysService`.
- Implementados novos endpoints em `AuthController`.
- Configuração de novas variáveis de ambiente no `.env`.