feat: harden identity and recovery operations
This commit is contained in:
11
CHANGELOG.md
11
CHANGELOG.md
@@ -42,6 +42,11 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
- Relatórios operacionais, métricas por dimensão e exportação CSV detalhada.
|
||||
- Consulta de auditoria filtrável e paginada para administradores e auditores.
|
||||
- Modelos editáveis para email e notificações internas com variáveis funcionais.
|
||||
- Login Microsoft Entra/OIDC de tenant único com descoberta dinâmica, PKCE, `state`, `nonce` e validação RS256 do `id_token`.
|
||||
- Associação e remoção explícitas da identidade Microsoft nas definições de segurança, com histórico de login e auditoria.
|
||||
- Endpoints públicos de liveness/readiness sem divulgação de detalhes internos e health check do Nginx.
|
||||
- Scripts operacionais para backup PostgreSQL custom, checksum e teste de restauro numa base temporária isolada.
|
||||
- Checklist versionado de entrada em produção com evidências e critérios de go/no-go.
|
||||
|
||||
### Alterado
|
||||
|
||||
@@ -59,6 +64,8 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
|
||||
- Registo público desativado.
|
||||
- Variáveis para tokens Snipe-IT separados e credenciais Entra ID documentadas sem valores.
|
||||
- A associação Microsoft exige autenticação local e confirmação recente da palavra-passe; coincidências de email nunca associam contas automaticamente.
|
||||
- Tokens OIDC não são persistidos ou registados e o redirect URI tem de usar HTTPS em produção.
|
||||
- Rotas operacionais protegidas por Gate e verificação de perfil também no serviço de domínio; escritas externas não fazem retry automático.
|
||||
- Exportação CSV neutraliza células iniciadas por caracteres de fórmula e limita cada relatório a 366 dias.
|
||||
- Gestão administrativa impede auto-desativação e garante pelo menos um administrador ativo.
|
||||
@@ -66,7 +73,7 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
### Verificado
|
||||
|
||||
- Migrations e seeders executados em PostgreSQL 17 real.
|
||||
- Suite backend: Pint em 111 ficheiros, PHPStan nível 7 em 84 ficheiros e 70 testes Pest (340 asserções).
|
||||
- Suite backend: Pint em 141 ficheiros, PHPStan nível 7 em 107 ficheiros e 103 testes Pest (585 asserções; 2 testes de registo deliberadamente ignorados).
|
||||
- Frontend: TypeScript, ESLint, Prettier e build Vite de produção.
|
||||
- Stack Docker operacional e endpoint de login acessível através do Nginx.
|
||||
- Renderização SSR real do login validada, incluindo o conteúdo “Entrar no Portal de Reservas”.
|
||||
@@ -77,3 +84,5 @@ Todas as alterações materiais são registadas neste ficheiro. O formato segue
|
||||
- Migration da caixa interna de notificações aplicada em PostgreSQL 17.
|
||||
- Fluxo operacional: autorização, checkout/check-in, entrega parcial, auditoria, incidentes e bloqueios validados com API Snipe-IT simulada.
|
||||
- Administração: utilizadores, políticas, buffers, calendário global, relatórios, CSV, auditoria e modelos de notificação validados por testes funcionais.
|
||||
- Autenticação Microsoft simulada criptograficamente: associação explícita, login, `state`, PKCE, tenant e recusa de autoassociação validados.
|
||||
- Backup real criado e restaurado em PostgreSQL 17 temporário, com 12 migrations confirmadas; liveness/readiness validados através do Nginx.
|
||||
|
||||
Reference in New Issue
Block a user