Я обновил свое приложение Angular 6, чтобы оно использовало библиотеку auth0 / angular2-jwt .После того, как я обновил свои сервисы сейчас, я получаю ошибку 401 Unauthorized
от моего API, хотя токен правильно прикреплен к заголовку.
К любым запросам, отправленным с использованием HttpClient от Angular, автоматически будет добавлен токен в качестве заголовка авторизации.
Документация для этого: Использование инъекции
Итак, насколько я понял правильно, мне не нужно загружать свой токен в любое время, когда я хочу сделать запрос, а затем присоединить его к заголовкам, потому что он загружается автоматически.Это мой код:
app.module.ts
import { JwtModule } from '@auth0/angular-jwt';
import { HttpClientModule } from '@angular/common/http';
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
HttpClientModule,
JwtModule.forRoot({
config: {
tokenGetter: () => {
return localStorage.getItem('id_token');
},
throwNoTokenError: true,
whitelistedDomains: ['localhost:3000'],
}
}),
auth.service.ts
import { HttpClient } from '@angular/common/http';
constructor(
public http: HttpClient
) {}
getProfile() {
return this.http.get<profile>('http://localhost:3000/users/profile');
}
Если я использую Postman с токеном из localStorage, все работает нормально, и я возвращаю правильные данные профиля.Если я использую свое Angular-приложение, оно не будет работать.