我正在尝试在Angular2.beta.0上构建一个具有登录机制的演示应用程序,然后所有其他API调用将通过标头发送获取的会话令牌.
在角度1x中,我可以编写一个Interceptor,它会在单独的代码中将标记添加到http标头中,我想知道angular2是否有这种机制或任何其他推荐的方法来执行此操作.
必须是请求的HTTP头?Cookies似乎是一个不错的选择:https: //stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/
通过查看HTTP文档,我们有:
get(url: string, options?: RequestOptionsArgs) : ObservablePerforms a request with get http method.
转到RequestOptionsArgs我们有:
headers : Headers Not Yet Documented
最后登陆Headers.
import {Headers} from 'angular2/http'; var secondHeaders = new Headers({ 'X-My-Custom-Header': 'Angular' });
所以它应该是这样的:
import {Response} from "angular2/http"; import {RequestOptionsArgs} from "angular2/http"; import {Headers} from "angular2/http"; let token:string = 'my-secret'; this.http.get('your/url',{ headers: new Headers({ 'X-My-JWT-Header': 'sweet' }) })
查看BaseRequestOptions文档,这是一种以自动方式将此标头附加到每个请求的方法.