Node.js connect.session和connect.cookieParser的秘密之间的区别?
我想使用connect的模块和在Express应用程序中使用安全cookie。根据文档,两者都接受Node.js connect.session和connect.cookieParser的秘密之间的区别?,node.js,session,cookies,express,connect,Node.js,Session,Cookies,Express,Connect,我想使用connect的模块和在Express应用程序中使用安全cookie。根据文档,两者都接受secret参数。此密钥用于防止用户篡改cookie 我应该为两个模块设置相同的键,还是为两个不同的模块设置相同的键?或者我应该只将一个密钥传递给其中一个吗?您只需要使用其中一个进行设置。不过,您可以传递给每个人,以便为他们提供不同的secrets以供使用 他们之间的区别在于他们对它的所谓“贪婪” session(secret)将保留机密,仅用于保存会话ID的cookie 另一方面,cookieP
secret
参数。此密钥用于防止用户篡改cookie
我应该为两个模块设置相同的键,还是为两个不同的模块设置相同的键?或者我应该只将一个密钥传递给其中一个吗?您只需要使用其中一个进行设置。不过,您可以传递给每个人,以便为他们提供不同的
secret
s以供使用
他们之间的区别在于他们对它的所谓“贪婪”
将保留session(secret)
,仅用于保存会话ID的cookie机密
- 另一方面,cookieParser(secret)将允许对任何cookie进行签名
您可以使用“Express”创建签名cookie
此方法还支持签名cookie。只需传递带签名的
选项即可。当给定时,
将使用传递给res.cookie()
的秘密对值进行签名express.cookieParser(secret)
稍后,您可以通过对象访问此值res.cookie('name', 'tobi', { signed: true });
session()
将使用传递给cookieParser()
的secret。但是,除此之外,是的。他们不应该与每个人都有自己的秘密
相冲突。谢谢乔纳森。这是否意味着对解析器和会话中间件使用相同的密钥比使用两个单独的密钥更安全?