Auth0 Angular 2.使用AuthHttp时出错

时间:2017-07-23 13:10:18

标签: angular auth0

我正在尝试使用Auth0和JWT保护我的SPA应用程序。如果我用来自@ angular / http的“普通”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]
    }
  ],

1 个答案:

答案 0 :(得分:0)

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

如果是这种情况,您应该检查您的令牌是否可以在提供的位置访问(这里是来自DevTools控制台的sessionStorage.getItem('token'))以及提供的令牌是否有效。要检查有效性,您可以使用https://jwt.io之前的令牌调试程序。