Angular 6 HTTP Interceptor 未设置标头

Err*_*Fox 3 typescript angular-http-interceptors angular

我正在尝试制作一个 jsonwebtoken 拦截器,但由于某种原因它根本没有设置标头。

对于我的提供者,我有

import { TokenInterceptorService } from './token-interceptor.service';
...
providers: [AuthService, AuthGuard, {
        provide: HTTP_INTERCEPTORS,
        useClass: TokenInterceptorService,
        multi: true
}]
Run Code Online (Sandbox Code Playgroud)

因为我的TokenInterceptorService也很简单:

import { Injectable } from '@angular/core';
import { HttpInterceptor } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class TokenInterceptorService implements HttpInterceptor {

    constructor() { }

    intercept(req, next) {

        let tokenizedReq = req.clone({
            setHeader: {
                Authorization: 'Bearer xx.yy.zz'
            }
        })

        return next.handle(tokenizedReq);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我记录tokenizedReq标题什么都没有。我一定是忽略了什么。

Sur*_*yan 6

Not setHeaderbut setHeaders- 复数形式

let tokenizedReq = req.clone({
     setHeaders: {
         'Authorization': 'Bearer xx.yy.zz'
     }
})
Run Code Online (Sandbox Code Playgroud)

  • 这是编程:) (2认同)