Angular HTTP Interceptor未设置标头

时间:2017-11-08 04:12:42

标签: angular angular-http-interceptors angular-httpclient

我没有收到任何错误,并且能够使用有效令牌(我已经使用Postman验证)从我的登录组件设置authToken值。但我没有在我的请求标头中添加任何Authorization参数。

 entryComponents: [
    ConfirmDialogTargetComponent
  ],
  providers: [
    AuthInterceptor,
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi: true     
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
import { Injectable }                                               from '@angular/core';
import { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest }     from '@angular/common/http';
import { Observable }                                               from 'rxjs/Observable';

@Injectable()
export class AuthInterceptor {

    authToken: string = '';

    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

        const authReq = req.clone({ headers: req.headers.set('Authorization', 'Bearer ' + this.authToken) });
        return next.handle(authReq);
    }
}

1 个答案:

答案 0 :(得分:0)

删除第一个AuthInterceptor:

 entryComponents: [
    ConfirmDialogTargetComponent
  ],
  providers: [
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi: true     
    }
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
相关问题