No SecurityFilter, quando chamamos o var usuario = repository.findByLogin(subject);
, todos os dados do usuário são trazidos, incluindo a senha, mesmo que criptografada, é isso mesmo o que deve ocorrer?
No SecurityFilter, quando chamamos o var usuario = repository.findByLogin(subject);
, todos os dados do usuário são trazidos, incluindo a senha, mesmo que criptografada, é isso mesmo o que deve ocorrer?
Olá, Rafael! Tudo bem com você?
Sua pergunta é muito relevante. No processo de autenticação, é comum que o repositório busque todos os dados do usuário, incluindo a senha (mesmo que criptografada), pois é assim que a validação do usuário é realizada.
No caso do Spring Security, quando você faz var usuario = repository.findByLogin(subject);
, o Spring está buscando o usuário no banco de dados para comparar a senha fornecida na requisição com a senha armazenada no banco de dados. Se as senhas coincidem (após a senha fornecida ser criptografada e comparada com a senha criptografada armazenada), então a autenticação é bem-sucedida.
É importante lembrar que, embora a senha seja obtida neste processo, ela não deve ser exposta ou retornada em nenhuma resposta da API. O Spring Security cuida disso para nós, então não precisamos nos preocupar.
Espero ter ajudado e bons estudos!