【问题标题】:Angular Detect 401 Unauthorized Access using JWTAngular Detect 401 Unauthorized Access 使用 JWT
【发布时间】:2018-08-06 04:47:40
【问题描述】:

我按照几篇文章在 Angular 上实现 JWT 身份验证,似乎一切正常,除了检测 401 未授权。

我想将用户重定向到登录页面,但我无法检测到 401 错误。

我有这门课:

export class JwtInterceptor implements HttpInterceptor {

  constructor(public authService: AuthService) {
  }

  intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    return next.handle(request).do((event: HttpEvent<any>) => {
      if (event instanceof HttpResponse) {
        console.log('HTPP REQUEST');
      }
    }, (err: any) => {
      if (err instanceof HttpErrorResponse) {
        if (err.status === 401) {
          this.authService.collectFailedRequest(request);
          console.log('Login boy');
        }
      }
    });
  }
}

但不确定在哪里使用它。我有 auth.service.ts 包含 login()getToken() 方法和 jwt.interceptor.ts 包含

【问题讨论】:

    标签: angular jwt angular2-jwt


    【解决方案1】:
    providers: [PagerService, AuthService,
      {
        provide: HTTP_INTERCEPTORS,
        useClass: TokenInterceptor,
        multi: true
      }, {
        provide: HTTP_INTERCEPTORS,
        useClass: JwtInterceptor,
        multi: true
      }
    ]
    

    我必须在module.app.ts 中添加多个拦截器。不要忘记在拦截器中在export class... 之前添加@Injectable()

    【讨论】:

      猜你喜欢
      • 2019-12-05
      • 2015-03-13
      • 2018-02-12
      • 2021-06-17
      • 2022-12-22
      • 2020-10-20
      • 1970-01-01
      • 2021-10-11
      • 2019-06-20
      相关资源
      最近更新 更多