Olá, Adriano.
Obrigado pela contribuição. Sua observação faz muito sentido.
Com nossa implementação, o invasor ainda não pode listar os email cadastrados em nosso sistema. Para conseguir isto, será necessário descobrir email e senha - um obstáculo consideravelmente complexo.
A prevenção contra a listagem de emails continua válida. Mas, existem abordagens mais seguras neste cenário:
- Enviar um email ao usuário informando o lockout e somente através do email desfazer o lockout;
- Guardar os IPs das máquinas que tentam consecutivos signins sem sucesso e bloquear;
- Guardar os IPs das máquinas de nossos usuários e não permitir o login vindo de um IP desconhecido;
- Habilitar autenticação de dois fatores (tema da parte 4);
Estas são algumas alternativas mais seguras, existem várias outras.
O desafio foi dar um feedback ao usuário genuíno que errou sua senha e durante o curso usamos esta abordagem para mostrar o uso do CheckPassword
(as abordagens acima saem do escopo do curso).
Mas, como observado por você, existem abordagens mais seguras!