Angular Detect 401 Unauthorized Access 使用 JWT
Posted
技术标签:
【中文标题】Angular Detect 401 Unauthorized Access 使用 JWT【英文标题】:Angular Detect 401 Unauthorized Access using 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
包含
【问题讨论】:
【参考方案1】:providers: [PagerService, AuthService,
provide: HTTP_INTERCEPTORS,
useClass: TokenInterceptor,
multi: true
,
provide: HTTP_INTERCEPTORS,
useClass: JwtInterceptor,
multi: true
]
我必须在module.app.ts
中添加多个拦截器。不要忘记在拦截器中在export class...
之前添加@Injectable()
。
【讨论】:
以上是关于Angular Detect 401 Unauthorized Access 使用 JWT的主要内容,如果未能解决你的问题,请参考以下文章
如何在全球范围内以最佳方式处理来自服务器的 401/403 响应
Angular - Spring Boot - Keycloak - 401错误
如何处理 spring security + angular 中的 401 错误?