Angular 从特定http调用的请求头中删除授权
拦截器-Angular 从特定http调用的请求头中删除授权,angular,Angular,拦截器- export class AuthInterceptor implements HttpInterceptor { constructor(private loaderService: LoaderService, private router: Router) { } intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>
export class AuthInterceptor implements HttpInterceptor {
constructor(private loaderService: LoaderService, private router: Router) { }
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
this.showLoader();
request = request.clone({
setHeaders: {
Authorization: `${localStorage.getItem('authToken')}`,
}
});
return next.handle(request).pipe(tap((event: HttpEvent<any>) => {
if (event instanceof HttpResponse) {
this.hideLoader();
}
},
error => {
this.hideLoader();
if (error.status === 401) {
this.router.navigate(['../auth']);
}
}),
);
}
TS API调用-
List() {
this.Service.getList()
.subscribe((res: any) => {
this.Data = res.body.data;
});
}
调用此API时,我想从请求头中删除授权
我们怎么能做到呢?在stackoverflow上搜索了许多答案,但没有任何结果。
有人能帮忙吗?在拦截器上,你可以有一个URI列表,你不会添加Auth头
if (unauthorizedUris.every(x => x !== request.url))
request.clone({
setHeaders: {
Authorization: `${localStorage.getItem('authToken')}`,
}});
if (unauthorizedUris.every(x => x !== request.url))
request.clone({
setHeaders: {
Authorization: `${localStorage.getItem('authToken')}`,
}});