Professor estou desenvolvendo um projeto onde um Front End através para um aplicativo no navegador que vai consumir está API. A API está utilizando o auth0 para autenticar usuarios, mas chegou uma hora que tive problemas em acessar urls da API que estão com
req.anyRequest().authenticated();
e so consigo acessar as que tem
req.requestMatchers("auth/login").permitAll() ; req.requestMatchers("auth/validate").permitAll(); req.requestMatchers("cadastro/usuario").permitAll(); req.requestMatchers("/auth/role").permitAll();
,
Basicamente quando eu tento enviar uma requisição do Front end:
const response = await fetch('http://localhost:8080/auth/role', { method: 'POST', headers: { 'Authorization': token }
-
Mas não obtenho nenhuma resposta do Back End quando url da API não tem o permitAll, e fica retornando este problema no Console do Navegador:
Access to fetch at 'http://localhost:8080/auth/role' from origin 'http://127.0.0.1:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.Entenda o erro dashboard.js:31 POST http://localhost:8080/auth/role net::ERR_FAILED
Teria algum jeito de obter a resposta da API sem ter que dar um PermitAll no meu SecurityFilterChain?
Eu estava pensando que como o problema é de Cors era só liberar o link do front no CorsOrigin no metodo da API, mas mesmo assim não liberou e tive que colocar este metodo dentro do FilterChain.