Angular2 http 默认 headers 通用授权令牌
Angular2 http default headers common Authorization tokens
在 angular 1 中,我能够操纵 http object 因此 header 请求 post 包含如下身份验证:
$http.defaults.headers.common['Authorization'] = "Token " + sessionobject.token;
return $http({
method: 'POST',
url: SERVER_ENVIRONMENT + 'updatepath',
headers: {
'Content-Type': 'application/json',
'Data-Type': 'json'
},
data: {
id : id,
...
}
})
你能帮我找到 Angular 2 中生成相同 post 请求的 equvilant 吗?提前多谢
您扩展 Angular2 class BaseRequestOptions
为所有 Http 调用提供自定义 headers
class MyOptions extends BaseRequestOptions {
header:Headers=new Header({
'Authorization': 'Bearer ' + localStorage.getItem('token')
});
}
然后可以将此 class 覆盖插入 DI,以便为请求选项 http 选择 MyOptions
bootstrap(App, [HTTP_PROVIDERS, provide(RequestOptions, {useClass: MyOptions})]);
这种方法的问题是令牌应该在引导过程中可用,但大多数情况下并非如此。
另一种选择是创建自定义 http
服务。此处提供了一种此类实现 https://gist.github.com/chandermani/9166abe6e6608a31f471
正如 Chandermani 在他的问题中所说,您可以为请求指定您自己的选项。您可以通过覆盖 merge 方法来静态或更动态地定义事物。使用后者,您可以根据为当前请求提供的选项扩展请求选项。
有关详细信息,请查看此问题:
由于您使用令牌,一个重要的特点是它们会在一段时间后过期。这意味着您需要根据刷新令牌来刷新它们。这可以在 Angular2 中通过扩展 Http class 并利用像 flatMap.
这样的可观察运算符来透明地完成。
有关详细信息,请查看此问题:
在 angular 1 中,我能够操纵 http object 因此 header 请求 post 包含如下身份验证:
$http.defaults.headers.common['Authorization'] = "Token " + sessionobject.token;
return $http({
method: 'POST',
url: SERVER_ENVIRONMENT + 'updatepath',
headers: {
'Content-Type': 'application/json',
'Data-Type': 'json'
},
data: {
id : id,
...
}
})
你能帮我找到 Angular 2 中生成相同 post 请求的 equvilant 吗?提前多谢
您扩展 Angular2 class BaseRequestOptions
为所有 Http 调用提供自定义 headers
class MyOptions extends BaseRequestOptions {
header:Headers=new Header({
'Authorization': 'Bearer ' + localStorage.getItem('token')
});
}
然后可以将此 class 覆盖插入 DI,以便为请求选项 http 选择 MyOptions
bootstrap(App, [HTTP_PROVIDERS, provide(RequestOptions, {useClass: MyOptions})]);
这种方法的问题是令牌应该在引导过程中可用,但大多数情况下并非如此。
另一种选择是创建自定义 http
服务。此处提供了一种此类实现 https://gist.github.com/chandermani/9166abe6e6608a31f471
正如 Chandermani 在他的问题中所说,您可以为请求指定您自己的选项。您可以通过覆盖 merge 方法来静态或更动态地定义事物。使用后者,您可以根据为当前请求提供的选项扩展请求选项。
有关详细信息,请查看此问题:
由于您使用令牌,一个重要的特点是它们会在一段时间后过期。这意味着您需要根据刷新令牌来刷新它们。这可以在 Angular2 中通过扩展 Http class 并利用像 flatMap.
这样的可观察运算符来透明地完成。有关详细信息,请查看此问题: