我正在按照本教程设置一个包含nodejs,express,mongoose和swig模板的站点: Authenticate a Node.js API with JSON Web Tokens
在本教程中,作者使用Postman在标题中设置标记。 我已经用Google搜索了几天,以了解如何在我网站的标题中设置jwt令牌,但它对我不起作用。
答案 0 :(得分:7)
如果您希望客户端在其请求标头中包含令牌,则可以使用带有express的cookie解析器。 (HTML5 Web存储是另一种选择)。关于Cookies:
Express可以设置响应标头,告诉客户端“将令牌添加到cookie”。
客户端使用令牌设置cookie后,令牌将位于客户端的每个请求的请求标头中。让我们一点点烘焙
npm install cookie-parser
撒上一些
var cookieParser = require('cookie-parser')
app.use(cookieParser())
访问并设置Cookie:
app.use(function (req, res, next) {
var cookie = req.cookies.jwtToken;
if (!cookie) {
res.cookie('jwtToken', theJwtTokenValue, { maxAge: 900000, httpOnly: true });
} else {
console.log('let's check that this is a valid cookie');
// send cookie along to the validation functions...
}
next();
});
您可能希望使用Cookie(或最终使用的任何方法)来执行这些操作: