在重定向之前设置Express响应头

我正在实现一个站点登录名,该登录名采用电子邮件/密码组合,检索API令牌,并将其返回给用户以存储(加密)在localStorage中。

目前,在成功发布到/login,该应用程序将用户重定向到索引页,附有作为查询条件,像这样的令牌:

login.post('/', function(req, res) {

...checking password...

Auth.getToken(user, function(err, token) {

res.redirect('/?token=' + token);

});

});

这可以正常工作,但我希望保持URL尽可能整洁,并将令牌设置为标头:

login.post('/', function(req, res) {

...checking password...

Auth.getToken(user, function(err, token) {

res.set('x-access-token', token);

console.log(res._headers);

// --> {'x-powered-by': 'Express', 'x-access-token': <token>}

res.redirect('/');

});

});

console.log-ing res._headers显示标题设置正确,但是当我req.headers将请求登录到索引页面时,它没有显示:

{ host: 'localhost:3000',

connection: 'keep-alive',

'cache-control': 'max-age=0',

accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',

'upgrade-insecure-requests': '1',

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',

referer: 'http://localhost:3000/login',

'accept-encoding': 'gzip, deflate, sdch',

'accept-language': 'en-US,en;q=0.8',

cookie: 'ifusr=crwj; _ga=GA1.1.1933420201.1409901705',

'if-none-match': '"1195161647"' }

任何建议表示赞赏!

回答:

设置标头在这里不起作用,因为重定向将执行新的http请求,您可以使用express-

session来存储auth令牌,并在需要时获取它

req.session.accessToken = token

以上是 在重定向之前设置Express响应头 的全部内容, 来源链接: utcz.com/qa/416596.html

回到顶部