Bienvenido a nuestro sitio, en este lugar hallarás la resolución de lo que necesitas.
Solución:
Dado que el mensaje es sobre su verificación previa solicitud, es decir OPTIONS
solicitud,
Supongo que debes hacer dos cosas en el lado del servidor/código Spring Boot,
- Devuelva OK desde el filtro de autenticación, por lo que debe agregar a continuación en
attemptAuthentication
método como primera verificación, es decir, no realice una autenticación real para las solicitudes de verificación previa,
if (CorsUtils.isPreFlightRequest(httpServletRequest))
httpServletResponse.setStatus(HttpServletResponse.SC_OK);
return new Authentication() ; //whatever your token implementation class is - return an instance of it
CorsUtils es – org.springframework.web.cors.CorsUtils
- Deje que Spring Security ingrese solicitudes de opciones autorizadas en el sistema, así que agregue estas líneas en Configuración de seguridad,
.authorizeRequests().antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
También puede permitir solicitudes de OPCIONES no autorizadas, pero supongo que no sería una buena idea. Además, intente limitar “/**” a URL específicas si es posible.
Tuve el mismo problema, finalmente solo agregué httpRequest.cors();
al final del método configure en la clase WebSecurityConfig y funcionó bien, la explicación de por qué es :
explícitamente, las solicitudes de verificación previa no están excluidas de la autorización en la configuración de Spring Security. Recuerde que Spring Security protege todos los puntos finales de forma predeterminada.
Como resultado, la API también espera un token de autorización en la solicitud de OPCIONES.
Spring proporciona una solución lista para usar para excluir las solicitudes de OPCIONES de las comprobaciones de autorización:
los cors()
agregará el CorsFilter proporcionado por Spring al contexto de la aplicación que, a su vez, omite las comprobaciones de autorización para las solicitudes de OPCIONES.
para todos los detalles
https://www.baeldung.com/spring-security-cors-preflight
Reseñas y calificaciones
Al final de la post puedes encontrar las reseñas de otros administradores, tú igualmente eres capaz dejar el tuyo si lo crees conveniente.