You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中HTTP_INTERCEPTORS注入令牌缺失ɵprov定义报错求助

解决Angular NG0204: Token InjectionToken HTTP_INTERCEPTORS缺失ɵprov定义错误

核心问题

你代码里的authInterceptorProviders对象存在拼写错误:把useClass写成了usecClass,这会导致Angular无法识别拦截器的提供者配置,触发NG0204错误。另外还有一个隐性问题:请求头的键名设置有误,会导致后端无法识别正确的Authorization头。

修正后的auth.interceptor.ts代码

import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HTTP_INTERCEPTORS } from "@angular/common/http";
import { Injectable } from "@angular/core";
import { Observable } from "rxjs";
import { LoginService } from "../login/login.service";

const TOKEN_HEADER = "Authorization";
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
    constructor(private loginService: LoginService) { }

    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        let authReq = req;
        // 获取令牌
        const token = this.loginService.getToken();
        // 为请求添加JWT令牌
        if (token != null) {
            authReq = authReq.clone({
                setHeaders: { [TOKEN_HEADER]: `Bearer ${token}` }, // 用方括号包裹变量,确保键名为Authorization
            });
        }
        return next.handle(authReq);
    }
}

export const authInterceptorProviders = [{
    provide: HTTP_INTERCEPTORS,
    useClass: AuthInterceptor, // 修正拼写错误
    multi: true,
}]

确保拦截器正确注册

在app.module.ts的providers数组中添加拦截器提供者:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { authInterceptorProviders } from './path/to/auth.interceptor'; // 替换为你的实际文件路径

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule
  ],
  providers: [authInterceptorProviders], // 注册拦截器
  bootstrap: [AppComponent]
})
export class AppModule { }

额外检查点

  • 确认LoginService已添加@Injectable({ providedIn: 'root' })装饰器,或者在对应模块的providers中注册,避免注入失败。
  • 验证登录后LoginService.getToken()能正确返回JWT字符串,而非null或空值。

内容的提问来源于stack exchange,提问作者Michael . _ .

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:45:28