Implementacao #935
Atualizado por Rodrigo Admin há 14 dias
# Gestão Implementa\xE7\xE3o de Gest\xE3o de API Keys e Logout Seguro (Sprint 3) Implementação da (S3T2)\r\n\r\nConclu\xEDmos a segunda parte da segurança seguran\xE7a operacional da Sprint 3, focando em: 1. **Logout Seguro**: Invalidação com foco em revoga\xE7\xE3o 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 sess\xF5es e revogar suas chaves de API. ## autonomia do tenant.\r\n\r\n## Entregas Realizadas ### Realizadas\r\n\r\n### 1. Logout Seguro - Seguro\r\n- **AuthService**: Adicionado método m\xE9todo `logout(refreshToken)` que revoga o token no banco de dados. - dados.\r\n- **AuthController**: Endpoint `/auth/logout` atualizado para receber e invalidar o token. ### token.\r\n\r\n### 2. Gestão Gest\xE3o de API Keys (Self-Service) - (Self-Service)\r\n- **ApiKeysController**: Novos endpoints para que o tenant gerencie suas chaves diretamente: diretamente:\r\n - `GET /api-keys`: Lista chaves do tenant atual. atual.\r\n - `POST /api-keys`: Cria novas chaves. chaves.\r\n - `DELETE /api-keys/:id`: Revoga chaves específicas. ### espec\xEDficas.\r\n\r\n### 3. Segurança Seguran\xE7a e RBAC - RBAC\r\n- Uso de `RolesGuard` (@Roles(ADMIN)) para restringir a gestão gest\xE3o de chaves. - Integração chaves.\r\n- Integra\xE7\xE3o com `TenantInterceptor` para isolamento de dados. ## Verificação - dados.\r\n\r\n## Verifica\xE7\xE3o\r\n- **Testes E2E**: Atualizados em `test/auth.e2e-spec.ts`. Todos os 9 testes estão passando. - est\xE3o passando.\r\n- **Build**: Compilado Composto com sucesso (`npm run build`). ## Commit - build`).\r\n\r\n## Commit\r\n- [S3T2 - implement api key management and secure logout](https://github.com/rodrigonunesrp/FTSAssistants/commit/01680a57)