在 Angular 7+ 项目中,我尝试使用@auth0/angular-jwt模块添加一个 Bearer 令牌作为授权标头,然后再将请求发送到受保护的 rest api。
我在列入白名单的 URL 上发送了一个请求并收到 401 异常,然后我检查了网络(使用提琴手)传输了哪个标头,授权标头不存在。
我遵循了所有自述文件的指示,甚至检查了是否只包含了一次 HttpClientModule。
app.module.ts :
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { FormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { JwtModule } from '@auth0/angular-jwt';
import { tokenGetter } from './environment';
import { AppComponent } from './app.component';
// ... other components
@NgModule({
declarations: [
AppComponent
// ... other components
],
imports: [
BrowserModule,
AppRoutingModule,
FormsModule,
HttpClientModule,
JwtModule.forRoot({
config: {
tokenGetter: tokenGetter,
whitelistedDomains: ["localhost:8080"]
}
})
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
环境.ts:
export function tokenGetter() {
return localStorage.getItem('access_token');
}