相关疑难解决方法(0)

Angular - 为每个请求设置标头

我需要在用户登录后为每个后续请求设置一些授权标头.


要为特定请求设置标头,

import {Headers} from 'angular2/http';
var headers = new Headers();
headers.append(headerName, value);

// HTTP POST using these headers
this.http.post(url, data, {
  headers: headers
})
// do something with the response
Run Code Online (Sandbox Code Playgroud)

参考

但是以这种方式为每个请求手动设置请求标头是不可行的.

如何在用户登录后设置标头集,并在注销时删除这些标头?

angular

315
推荐指数
13
解决办法
37万
查看次数

Angular2 ASP.NET Core AntiForgeryToken

我有一个Angular2应用程序.它在ASP.NET 5(Core)中运行.
它使Http调用控制器工作正常.

但现在我需要建立Cross Site Scripting投影.

如何在每个Http请求上生成新令牌,然后在Angular2应用程序中执行AntiForgeryToken检查?

注意:我在Angular中的数据表单不是从MVC视图生成的,而是完全用Angular2编写的,只调用Web服务.

我见过的所有例子都已过时,不起作用/不起作用.

如何整合在AntiForgeryToken检查Angular2对ASP.NET 5,其中形式是纯粹的角?

谢谢.

xss web-services asp.net-core angular

14
推荐指数
2
解决办法
7341
查看次数

如何将json Web令牌添加到每个标头?

因此,我尝试使用JSON Web令牌进行身份验证,并且正在努力弄清楚如何将它们附加到标头并根据请求发送它们.

我试图使用https://github.com/auth0/angular2-jwt,但我无法使用Angular并放弃,并认为我可以弄清楚如何在每个请求中发送JWT或发送它在标题中(最好是标题).它比我想象的要困难一点.

这是我的登录

submitLogin(username, password){
        console.log(username);
        console.log(password);
        let body = {username, password};
        this._loginService.authenticate(body).subscribe(
            response => {
                console.log(response);
                localStorage.setItem('jwt', response);
                this.router.navigate(['UserList']);
            }
        );

    }
Run Code Online (Sandbox Code Playgroud)

和我的login.service

authenticate(form_body){
        return this.http.post('/login', JSON.stringify(form_body), {headers: headers})
                .map((response => response.json()));
    }
Run Code Online (Sandbox Code Playgroud)

我知道这些并不是真的需要,但也许它会有所帮助!一旦这个令牌被创建并存储它,我想做两件事,在标题中发送它并提取我用它放入的过期日期.

一些Node.js登录代码

var jwt = require('jsonwebtoken');
function createToken(user) {
  return jwt.sign(user, "SUPER-SECRET", { expiresIn: 60*5 });
}
Run Code Online (Sandbox Code Playgroud)

现在我只是尝试通过角度服务将其传递回使用此服务的节点.

getUsers(jwt){
        headers.append('Authorization', jwt);
        return this.http.get('/api/users/', {headers: headers})
            .map((response => response.json().data));
    }
Run Code Online (Sandbox Code Playgroud)

JWT是我在本地存储中的webtoken,我通过我的组件传递给服务.

我没有任何错误,但当它到达我的节点服务器时,我从来没有在标头中收到它.

'content-type': 'application/json',
 accept: '*/*',
 referer: 'http://localhost:3000/',
 'accept-encoding': 'gzip, deflate, sdch',
 'accept-language': 'en-US,en;q=0.8', …
Run Code Online (Sandbox Code Playgroud)

json jwt json-web-token angular2-services angular

8
推荐指数
2
解决办法
2万
查看次数