Auth0 Angular 2.使用AuthHttp时出错

Auth0 Angular 2. Error when using AuthHttp

我正在尝试使用 Auth0 和 JWT 来保护我的 SPA 应用程序。如果我使用来自 @angular/http 的 "normal" Http 执行 http.get,它工作正常,但是当我使用 AuthHttp 执行完全相同的调用时,什么也没有发生,也没有错误。 这是我的服务:

constructor(private authHttp: AuthHttp) {

  }

  loadItems(): Observable<FrontItemDto[]> {
    return this.authHttp.get ( `${ServiceSettings.ApiUrl}/front` )
      .map ( res => {
        res.json ();
      } )
      .catch ( (error: any) => Observable.throw ( error.json ().error || 'Server error' ) );
  }

这是app.module

  import { AuthHttp, AuthConfig } from 'angular2-jwt';
    ...
    export function authHttpServiceFactory(http: Http, options: RequestOptions) {
      return new AuthHttp(new AuthConfig({
        tokenName: 'token',
        tokenGetter: (() => sessionStorage.getItem('token')),
        globalHeaders: [{'Content-Type': 'application/json'}],
      }), http, options);
    }
....
providers: [
    ...
    AuthService,
    {
      provide: AuthHttp,
      useFactory: authHttpServiceFactory,
      deps: [Http, RequestOptions]
    }
  ],

AuthConfig 对象中的 noJwtError 设置为 true 时,带有无效或缺失令牌的请求将通过常规 HTTP 请求(无需身份验证)。

如果是这种情况,您应该检查是否可以在提供的位置访问您的令牌(此处 sessionStorage.getItem('token') 来自 DevTools 控制台)以及提供的令牌是否有效。要检查有效性,例如,您可以通过 https://jwt.io.

使用令牌调试器