Projeto

Geral

Perfil

Implementacao #935

Atualizado por Rodrigo Admin14 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)

Voltar