Tom*_*Tom 4 cookies session connect node.js express
我想使用connect的模块connect.session
和我的Express应用程序中使用安全cookie connect.cookieParser
.根据文档,两者都接受一个secret
参数.此密钥用于防止用户篡改cookie.
我应该为两个模块设置相同的密钥,还是两个不同的模块?或者我应该只将密钥传递给其中一个?
您只需要将其设置为一个或另一个.虽然,你可以传递给每个人,以便给他们不同secret
的使用.
它们之间的区别在于它们所谓的" 贪婪 ".
session(secret)
将保留secret
自己,仅用于持有会话ID的cookie.
cookieParser(secret)
另一方面,允许任何cookie签名.
您可以使用Express'创建签名的cookie response.cookie()
.
此方法也支持签名的cookie.只需通过
signed
选项.给定时res.cookie()
将使用传递给的秘密express.cookieParser(secret)
来签署该值.Run Code Online (Sandbox Code Playgroud)res.cookie('name', 'tobi', { signed: true });
稍后您可以通过req.signedCookies对象访问此值.