Implementacao #935
Atualizado por Rodrigo Admin há 14 dias
# Gestão de API Keys e Logout Seguro (Sprint 3) Implementação da segunda parte da segurança operacional da Sprint 3, focando em: 1. **Logout Seguro**: Invalidação de Refresh Tokens no banco de dados ao deslogar. 2. **RBAC (Role-Based Access Control)**: Aplicação de `RolesGuard` para proteger rotas administrativas. 3. **Gestão de API Keys**: Endpoints para que administradores de tenants possam listar, criar e revogar suas chaves de API. ## Entregas Realizadas ### 1. Logout Seguro - **AuthService**: Adicionado método `logout(refreshToken)` que revoga o token no banco de dados. - **AuthController**: Endpoint `/auth/logout` atualizado para receber e invalidar o token. ### 2. Gestão de API Keys (Self-Service) - **ApiKeysController**: Novos endpoints para que o tenant gerencie suas chaves diretamente: - `GET /api-keys`: Lista chaves do tenant atual. - `POST /api-keys`: Cria novas chaves. - `DELETE /api-keys/:id`: Revoga chaves específicas. ### 3. Segurança e RBAC - Uso de `RolesGuard` (@Roles(ADMIN)) para restringir a gestão de chaves. - Integração com `TenantInterceptor` para isolamento de dados. ## Verificação - **Testes E2E**: Atualizados em `test/auth.e2e-spec.ts`. Todos os 9 testes estão passando. - **Build**: Compilado com sucesso (`npm run build`). ## Commit - [S3T2 - implement api key management and secure logout](https://github.com/rodrigonunesrp/FTSAssistants/commit/01680a57)