简体   繁体   English

JWT令牌未在angular6中传入标头

[英]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.

相关问题 Angular6 angular-jwt 不向请求标头添加令牌 - Angular6 angular-jwt not adding token to request headers 在angular 5应用程序的标头中设置JWT令牌 - set JWT token in header in angular 5 app 如何将请求标头信息传递给Angular6应用(按请求标头发送JWT) - How to pass request header information to Angular6 app (JWT send by request header) 如何在角度 6 中将 JWT 令牌作为授权标头发送 - How to send JWT token as authorization header in angular 6 如果我们有效的令牌,Angular6 auth0 / angular2-jwt isTokenExpired函数始终返回false - Angular6 auth0/angular2-jwt isTokenExpired function always return false if we valid Token 如何在 Angular 中从服务器获取带有 jwt 令牌的响应头 - How to get response header with jwt token in Angular from server express-jwt 和 Angular 9 with cookie: token not set in the `Authorization` header - express-jwt and Angular 9 with cookie: token not set in the `Authorization` header 当它是带有angular2的外部源时,标题中没有jwt令牌授权 - no jwt token Authorization in header when it is an external source with angular2 如何在Angular 7 + Laravel 5.7中的请求标头中正确附加JWT令牌 - How to properly append JWT token in request header in Angular 7 + Laravel 5.7 如何从角度 6 的“响应头”中获取 JWT 令牌 - How to get JWT token from "Response Header" in angular 6
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM