Hola William,
Por lo que veo en tu descripción, parece que estás teniendo problemas con la autenticación y estás recibiendo un error 403 Forbidden. Este error generalmente indica que el servidor comprende la solicitud, pero se niega a autorizarla.
El error 403 puede surgir debido a varias razones, pero en tu caso, parece que podría estar relacionado con la autenticación JWT. Asegúrate de que estás generando y enviando el token JWT correctamente.
Por ejemplo, cuando haces una solicitud POST para iniciar sesión, tu servidor debe generar un token JWT y devolverlo en la respuesta. Luego, para las solicitudes autenticadas, debes incluir este token en el encabezado 'Authorization' de tu solicitud.
Aquí tienes un ejemplo de cómo podrías hacer esto:
// Generar token
String token = Jwts.builder().setSubject(usuario.getId().toString()).signWith(SignatureAlgorithm.HS512, "clave secreta").compact();
// Enviar token
response.addHeader("Authorization", "Bearer " + token);
Y luego, para las solicitudes autenticadas:
// Incluir token en el encabezado de la solicitud
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + token);
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
Además, asegúrate de que tu filtro está configurado correctamente para permitir las solicitudes de inicio de sesión y verificar los tokens en las demás solicitudes.
Espero que esto te dé una idea de por dónde empezar a buscar el problema. Recuerda, este es solo un ejemplo y puede que necesites ajustarlo según tu implementación específica.
Espero haber ayudado y buenos estudios!