我正在尝试使用HTTPClient从Jenkins JSON-API中获取数据。由于我要访问的数据受到限制,因此需要针对Jenkins进行身份验证。因此,我生成了一个API令牌。现在,我想使用Angular HTTPClient进行身份验证,但是我不知道如何。
有人可以帮助我解决我的问题吗?
谢谢
答案 0 :(得分:0)
您可以使用HttpInterceptor在每个传出的http请求上附加其他标头。
@Injectable({
providedIn: 'root'
})
export class OutgoingInterceptor implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
interceptedRequest = req.clone({
setHeaders: {
// These headers is for Passport authentication.
// You might to change these headers as you need
// Also you need to store your token in localStorage etc.
Accept: 'application/json',
Authorization: tokenData
}
});
return next.handle(interceptedRequest);
}
}
您需要将此新创建的拦截器添加到模块的提供程序数组中:
providers: [
...
{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptor,
multi: true
}
]