http - Angular2 http 默认 header 通用授权 token

标签 http header angular authorization token

在 Angular 1 中,我能够操作 http 对象,因此帖子的请求 header 包含如下身份验证:

$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 中生成相同发布请求的 equvilant 吗?非常感谢

最佳答案

您扩展 Angular2 类 BaseRequestOptions 为所有 Http 调用提供自定义 header

class MyOptions extends BaseRequestOptions {
 header:Headers=new Header({
'Authorization': 'Bearer ' + localStorage.getItem('token')
 });
}

然后可以将此类重写插入 DI,以便为请求选项 http 选择 MyOptions

bootstrap(App, [HTTP_PROVIDERS, provide(RequestOptions, {useClass: MyOptions})]);

这种方法的问题是 token 应该在引导过程中可用,但大多数情况下并非如此。

另一种选择是创建自定义 http 服务。此处提供了一种此类实现 https://gist.github.com/chandermani/9166abe6e6608a31f471

关于http - Angular2 http 默认 header 通用授权 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36590461/

相关文章:

Angular 5 Mat-grid列表响应

javascript - 为什么当我调用代理服务器 api 时会附加网站 url

CSS 问题,填写表单时标题上升

c++ - 如何处理cpp文件和头文件

.net - 从 .NET 使用 RESt API

javascript - Angular 2 事件发射器

C# HttpListener 多种认证方案和Chrome

javascript - Node/Express - 如何实现 DELETE 和 PUT 请求

java - POST请求变成GET

angular - Chrome' Cross-Origin Read Blocking (CORB) blocked cross-origin response' ionic