Resolver problema com CORS.
18/02/2020
0
Olá, fiz um web server e habilitei o CORS para que possa consumir em outra aplicação em ReactJs. Bom se eu mandar uma requisição GET que não precisa do token a requisição é aceita e obtenho o retorno, porem se é uma requisição GET , mas que precisa de Autenticação Bearer xxxxxx, esta retornando isso no console do chrome: Access to fetch at ''http://localhost:8080/teste/menus'' from origin ''http://localhost:3000'' has been blocked by CORS policy: Response to preflight request doesn''t pass access control check: It does not have HTTP ok status.
No web server estou usando JWT para gerar o token...
O que pode ser? Alguém já passou por isso?
Segue o minha classe Java com filtros:
@Provider
public class CORSResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext containerRequestContext,
ContainerResponseContext containerResponseContext) throws IOException {
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Origin", "http://localhost:3000");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Credentials", "true");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Headers",
"origin, X-Requested-With, content-type, accept, Authorization");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
}
E a solicitação no ReactJs:
var token = ''aqui vai o token''
fetch(`$/merchants/1/menus`,
{
method: ''GET'',
credentials: "include",
headers: {
''Accept'': ''application/json'',
''Authorization'': ''Bearer '' +token
}
}
).then(resultado => resultado.json().then(calback));
se alguém puder me ajudar.
Desde já agradeço.
No web server estou usando JWT para gerar o token...
O que pode ser? Alguém já passou por isso?
Segue o minha classe Java com filtros:
@Provider
public class CORSResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext containerRequestContext,
ContainerResponseContext containerResponseContext) throws IOException {
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Origin", "http://localhost:3000");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Credentials", "true");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Headers",
"origin, X-Requested-With, content-type, accept, Authorization");
containerResponseContext.getHeaders().add(
"Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
}
E a solicitação no ReactJs:
var token = ''aqui vai o token''
fetch(`$/merchants/1/menus`,
{
method: ''GET'',
credentials: "include",
headers: {
''Accept'': ''application/json'',
''Authorization'': ''Bearer '' +token
}
}
).then(resultado => resultado.json().then(calback));
se alguém puder me ajudar.
Desde já agradeço.
Antonio Junior
Curtir tópico
+ 0
Responder
Posts
19/02/2020
Cleidison
Se não me engano o authorization não é maiúsculo espero ter ajudado
Responder
19/02/2020
Antonio Junior
Se não me engano o authorization não é maiúsculo espero ter ajudado
Arrumei aqui , mas continua retornando a mesma coisa.
Será que precisa fazer algo a mais quando foi implementado o JWT no projeto?
Responder
Clique aqui para fazer login e interagir na Comunidade :)