Ola, eu estou tendo um problema que mesmo encontrando meu usuario ainda esta retornando 403, eu debuguei a parte que traz o usuario, esta encontrando certinho mas mesmo assim ainda da o erro, segue meu codigo de autenticacao de token:
package com.example.controlefamiliabackend.config.validacao.security;
import com.example.controlefamiliabackend.models.UsuarioModel;
import com.example.controlefamiliabackend.repositories.UsuarioRepository;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigInteger;
import java.util.Optional;
public class AutenticacaoViaTokenFilter extends OncePerRequestFilter {
final TokenService tokenService;
final UsuarioRepository usuarioRepository;
public AutenticacaoViaTokenFilter(TokenService tokenService, UsuarioRepository usuarioRepository) {
this.tokenService = tokenService;
this.usuarioRepository = usuarioRepository;
}
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
String token = recuperarToken(request);
filterChain.doFilter(request, response);
boolean valido = tokenService.isTokenValido(token);
if (valido){
autenticarCliente(token);
}
}
private void autenticarCliente(String token) {
BigInteger id = tokenService.getIdUsuario(token);
Optional<UsuarioModel> usuario = usuarioRepository.findById(id);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
usuario, null, usuario.get().getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
}
private String recuperarToken(HttpServletRequest request) {
String token = request.getHeader("Authorization");
if(token == null || !token.startsWith("Bearer ")){
return null;
}
return token.substring(7, token.length());
}
}