So I want to send a HttpClient
get Request From Angular with Bearer Token
.
The API Call works fine with Postman using Bearer
token but for some reason it returns error code 500
when sent from Angular.
This is my service code :
getCurrentUser(): Observable<any> {
let token = localStorage.token
console.log(token)
let httpHeaders = new HttpHeaders().set('Authorization', "Bearer " + token);
console.log(httpHeaders)
return this.http.get(`${this.baseUrl}/user/getCurrentUser`, {headers : httpHeaders});
}
It is not a CORS issue, seeing as I already checked with Allow-CORS Chrome extension, also, this is my Request Filter from server side:
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class RequestFilter implements Filter{
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain){
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with, x-auth-token");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Controll-Allow-Credentials", "true");
if(!request.getMethod().equalsIgnoreCase("OPTIONS")){
try{
chain.doFilter(req, res);
} catch (Exception e) {
e.printStackTrace();
}
}else{
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, PUT,GET, DELETE");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with, x-auth-token, authorization, content-type, access-control-request-headers, access-control-request-method, accept, origin,");
response.setHeader("Access-Control-Max-Age", "3600");
response.setStatus(HttpServletResponse.SC_OK);
}
}
public void init(FilterConfig filterConfig){}
public void destroy(){}
}
So what is the problem here ?