3
votes

I am trying to add Authorization header to all my requests and am facing some issues. Even though I am adding the headers, the headers are not being used when network call is made.

Below is my interceptors code:

 const user: string = localStorage.getItem('user');
const token: string = localStorage.getItem('token');

const authReq = request.clone({
  headers: request.headers.set('Authorization', user + ',' + token)
});
return next.handle(authReq);

I have taken this code from angular documentation, I am not sure what I am missing here.

I've tried the following code as well, but no luck:

request = request.clone({
        setHeaders: {
          Authorization: `something`
        }
      });
2
change .set() to .append() it should work - CruelEngine

2 Answers

3
votes

@Logan give a try to this ,

user is not required along with your token unless your implementation requires it.

const user: string = localStorage.getItem('user');
const token: string = localStorage.getItem('token');

const  clonedRequest = req.clone({
   headers: new HttpHeaders({
         Authorization: token,
         "Content-Type": "application/json"
       })
    });

return next.handle(clonedRequest);
1
votes

Use for example:

let headers = new HttpHeaders({
    'Authorization': `Bearer ${token}`,
    'another', 'somedata'
});