Estou com o problema com o filter da função SecurityFilterChain, já usei o recomendado para o 3.2 do sptingboot, mas, não consigo acessar as rotas, ao fazer escrevei a saída "no filtro", porém, essa saída só sai na rota de login, nas demais eu não vejo nenhuma resposta.
Estou usando o postman, já tentei o bearer token direto, pelo authorizarion e nada.
Segue o código:
public class SecutirityFilter extends OncePerRequestFilter {
@Autowired
private TokenService tokenService;
@Autowired
private UsuarioReposotory repository;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
System.out.println("Entrei no filtro");
var tokenJWT = recuperarToken(request);
if (tokenJWT != null) {
var subject = tokenService.getSubject(tokenJWT);
var usuario = repository.findByLogin(subject);
var authentication = new UsernamePasswordAuthenticationToken(usuario, null, usuario.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
}
filterChain.doFilter(request, response);
}
private String recuperarToken(HttpServletRequest request) {
var authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader != null) {
return authorizationHeader.replace("Bearer ", "");
}
return null;
}
}
Ao fazer login eu realmente obtenho um token, mas, entrando no filtro, como proceder ?