我正在尝试在Angular2.beta.0上构建一个演示应用程序,它将具有登录机制,然后所有其他API调用将通过头文件发送获取的会话令牌.
在角度1x中,我可以编写一个拦截器,该拦截器会将令牌添加到单独的代码中的HTTP头部,我想知道angular2是否具有这种机制或任何其他推荐的方法.
需要HTTP头的请求吗?饼干似乎是一个不错的选择:
https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/
https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/
通过查看HTTP文档,我们有:
get(url: string,options?: RequestOptionsArgs) : Observable<Response> Performs 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',<RequestOptionsArgs> { headers: new Headers({ 'X-My-JWT-Header': 'sweet' }) })
查看BaseRequestOptions文档,这是一种以自动方式将此标题附加到每个请求的方式.