如何使用nodejs和express来设置授权标题

我正在按照本教程设置nodejs,express,mongoose和swig模板的站点: 使用JSON Web令牌validationNode.js API

在本教程中,作者使用Postman在标题中设置标记。 我已经search了几天,以了解如何在我的网站的标题中设置jwt令牌,但它不适合我。

如果您希望客户端将令牌包含在请求标头中,则可以使用带有express的cookie分析器。 (HTML5 Web存储是另一种select)。 关于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(); }); 

你可能会想用cookies来做这些事情(或者你最后用的任何方法):

  • 设置cookie以在用户通过身份validation时保留该令牌。
  • 在允许访问受保护的路由之前检查cookie头的值。
  • 如果用户在尝试访问需要令牌的API路由时没有令牌,则发回未经授权的状态。