- Navios
- 3 de agosto de 2026 às 04:31 UTC
- Autor
- Kamo
- Enviar
- e5efc19
Completa o MFA. O núcleo aterrou na biblioteca de kamo-shared; este é o fio que gira configuração armazenada em um portão real. O portão é pequeno porque o login já tinha a forma certa: cria o *** sessão e entregá-lo ao cliente APENAS como uma chave única no corpo de resposta — não cookie está definido no login. Então o mecanismo inteiro é reter o OTK até que o o segundo fator está comprovado. Uma sessão para a qual ninguém tem um OTK é inacessível, que significa que a própria criação da sessão não precisava de nenhuma cirurgia. MfaChallengeService mantém o ***Id sob um token de 5 minutos opaco, de uso único. O cliente nunca recebe o ID da sessão, e o token é inútil sem Código. Curto de propósito: um estado meio-autenticado sobrevive a um compromisso de senha. POST /api/security/mfa/desafio completa o login, lançando o OTK para que o O cliente retoma exactamente o fluxo que teria tido sem o MFA. Um código errado Não liberta nada e — deliberadamente — NÃO queima o desafio, porque forçar um usuário de volta através da senha sobre um erro de digitação é como MFA é desligado. A O próprio bloqueio da matrícula conta essas falhas. Um sucesso consome o desafio assim Não pode ser reproduzido. Códigos de recuperação completá-lo também, e nunca são tentados como um TOTP. Os endpoints de inscrição (/inscrição, /confirmação, /status) requerem uma sessão — se inscrever fator é uma ação autenticada por conta própria. /desafio deliberadamente faz não, porque o seu chamador é mid-login por definição. INERT HOJE: o portão só dispara em tem confirmadoFactor, e ninguém está matriculado, então o caminho de login existente é bytes idênticos. Este é o ponto — isto pode ser utilizado antes que qualquer cliente o apoie. A catraca do endpoint apanhou os meus próprios três manipuladores de matrícula como desprotegidos. Eles são. guardada, através de um usuárioIdFromSession helper a varredura de um método profundo não pode seguir, Assim, a solução era ensinar GUARD que ajudante em vez de baseá-los. Eu também. documentou a limitação inversa o mesmo exercício exposto: completo Desafio limpa a digitalização apenas porque acontece tocar no kSessionService.