我正在设置一个网站与nodejs,表达,mongoose和swig模板以下本教程:Authenticate a Node.js API with JSON Web Tokens
在本教程中,作者使用Postman来设置标头中的标记。我在谷歌上搜索了几天,想知道如何在我的网站标头中设置jwt标记,但它对我不起作用。
我正在设置一个网站与nodejs,表达,mongoose和swig模板以下本教程:Authenticate a Node.js API with JSON Web Tokens
在本教程中,作者使用Postman来设置标头中的标记。我在谷歌上搜索了几天,想知道如何在我的网站标头中设置jwt标记,但它对我不起作用。
2条答案
按热度按时间dfuffjeb1#
如果您希望客户端在其请求报头中包含令牌,您可以使用带有express的cookie解析器(HTML5 Web存储是另一种选择)。
Express可以设置响应标头以告诉客户端“将令牌添加到cookie中”。
一旦客户机用令牌设置了cookie,令牌就会出现在客户机的每个请求的请求头中。
撒上一些
访问和设置Cookie:
您可能希望对Cookie执行以下操作(或者最终使用的任何方法):
relj7zay2#
"也许能在将来帮助别人“
将令牌存储在带有
httpOnly:true
标志的cookie
中对于XSS攻击是相当安全的,但它可能容易受到CSRF攻击。使用中间件为
express
中的所有路由添加自定义request headers
可能是一个可行的解决方案,如下所示:这将在来自浏览器的每个get请求中添加
authorization=Bearer <token>
头。现在,通过添加以下中间件来验证每个安全路由中的令牌:输入
app.get('/dashboard')
如果您在另一个文件中定义了
app.post('/login')
,则:导出
addHeader
中间件如下:在
index.js
或app.js中