从http侦听器获取授权头 [英] Get authorization header from Http Interceptor
本文介绍了从http侦听器获取授权头的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已进行授权,将令牌直接放到headers
。现在如何从角度4Http Interceptor
获取此令牌?
遗憾的是,以下console logs
均不包含此标头:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
//const changedReq = req.clone({headers: req.headers.set('Authorization', 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbkB3cC5wbCIsImV4cCI6MTUxMDY2NDM0M30.0iBktdr4-1EzTi1iaQOOfguK7HGVJF7JYkB-AF3uZgJrmKnVESAyKkHoNRzum1Pq5xZ6GJaZC9cbZQ2umMSfLA')});
console.log('req', req);
return next.handle(req).do((event: HttpEvent<any>) => {
console.log('event', event);
if (event instanceof HttpResponse) {
// do stuff with response if you want
}
}, (err: any) => {
if (err instanceof HttpErrorResponse) {
this.ehs.setService(err.status, err.error);
// redirect to login
}
});
}
推荐答案
HttpHeaders
是Map
instance的包装,因此现有标头不会显示在console.log
输出中,因为Map
值未公开。
Header可以从HttpHeaders
实例取回,如其接口所示:
req.headers.get('authorization');
这篇关于从http侦听器获取授权头的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文