Я начал работать над проектом, в котором будет разрабатываться приложение, использующее несколько ADFS для аутентификации запроса, поступающего в веб-API.
Поэтому мне нужно каким-то образом сделать так, чтобы клиент angular получал токен из ADFS и прикреплял его к HTTP-запросу каждый раз, когда он переходит в веб-API.
Вопрос в том, что мне интересно, есть ли какой-нибудь пакет, который уже сделал это?
Я нашел здесь руководство, но это не то, что я ищу.
Вы должны попробовать adal-angular5 из
В app.module.ts
import { HttpClient, HttpClientModule } from '@angular/common/http';
...
imports: [..., HttpClientModule ], // important! HttpClientModule replaces HttpModule
providers: [
Adal5Service,
{ provide: Adal5HTTPService, useFactory: Adal5HTTPService.factory, deps: [HttpClient, Adal5Service] } // // important! HttpClient replaces Http
]
Пример
import { Adal5HTTPService, Adal5Service } from 'adal-angular5';
...
export class HttpService {
constructor(
private adal5HttpService: Adal5HTTPService,
private adal5Service: Adal5Service) { }
public get(url: string): Observable<any> {
const options = this.prepareOptions();
return this.adal5HttpService.get(url, options)
}
private prepareOptions():any{
let headers = new HttpHeaders();
headers = headers
.set('Content-Type', 'application/json')
.set('Authorization', `Bearer ${this.adal5Service.userInfo.token}`);
return { headers };
}