首页 > 解决方案 > 当我尝试制作中间件进行身份验证时发生错误

问题描述

我尝试将 jwt Web 令牌挂在我的传出请求中,在显示添加拦截器“ERROR TypeError: Cannot read property 'length' of undefined”后使用了拦截器方法。当拦截器文件被删除时,应用程序正常工作 这是我的开发控制台

这是我的拦截类

拦截器

标签: angulartypescriptangular7

解决方案


这是一个简化版本,但它在我的应用程序中就像一个魅力:

public intercept(
            req: HttpRequest<any>,
            next: HttpHandler
        ): Observable<HttpEvent<any>> {

        req = this.addAuthHeader(req);
    }

    addAuthHeader(request) {
         const r: HttpRequest<any> = request.clone({
             headers: new HttpHeaders({
                    Authorization: 'Bearer ' + this.authService.getToken()
             })
         });
         return r;
    }

供参考-> how-to-add-multiple-headers-in-angular-5-httpinterceptorinterceptor-angular-4-3-set-multiple-headers-on-the-cloned-request

问候


推荐阅读