[英]JWT token is not passing in header in angular6
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let request = req.clone({
setHeaders: this.getRequestHeaders()
});
return next.handle(request).map((event: HttpEvent<any>) => {
if (event instanceof HttpResponse && event.status==200) {
} else
console.log('event =', event, ';');
return event;
})
.catch((err: any, caught) => {
if (err instanceof HttpErrorResponse) {
let error=err['error']
// if (err['error'] && (err['error']['status'] == 401) && (err['error']['message']=="Session Expired,please login Again.") || err['error']['message']=="Full authentication is required to access this resource") {
// setTimeout(()=>{
// this.localStorageService.clearLocalStorage();
// return this.router.navigate(['/login']);
// }, 1000);
// }
return Observable.throw(error);
}
});
}
public getRequestHeaders(){
let token=this.localStorageService.getToken();
let headers={'Accept': 'application/json'};
if(token){
headers['Authorisation']=token;
}
return headers;
}
I have implemented interceptor service but token is not passing in passing in header and nothing is working because of that.
我已经实现了拦截器服务,但令牌没有通过标头传递,因此没有任何工作。 I fetch the token from local storage but is showing nothing
我从本地存储中获取令牌但没有显示任何内容
In order to set header you must create header instance like this. 要设置标头,您必须像这样创建标头实例。 Below is my example
以下是我的例子
private initAuthHeaders(): Headers {
const token = this.getLocalToken();
const headers = new Headers();
if (token !== null) {
headers.append('Authorization', 'Bearer ' + token);
}
headers.append('Content-Type', 'application/json');
return headers;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.