我想在我的Express应用程序中使用Connect的模块connect.session
和connect.cookieParser
使用安全Cookie。根据文档,两者都接受secret
参数。此密钥用于防止用户篡改cookie。
我应该为两个模块设置相同的密钥,还是设置两个不同的密钥?或者我应该只给其中一个人一把钥匙?
我想在我的Express应用程序中使用Connect的模块connect.session
和connect.cookieParser
使用安全Cookie。根据文档,两者都接受secret
参数。此密钥用于防止用户篡改cookie。
我应该为两个模块设置相同的密钥,还是设置两个不同的密钥?或者我应该只给其中一个人一把钥匙?
1条答案
按热度按时间1cklez4t1#
您只需要将其设置为一个或另一个。但是,您可以传递给每个对象,以便为它们提供不同的
secret
来使用。他们之间的区别在于他们所谓的“贪婪”。
session(secret)
将保留secret
,仅将其用于保存会话ID的cookie。cookieParser(secret)
将允许对任何cookie进行签名。您可以使用Express'
response.cookie()
创建签名Cookie。通过此方法还支持签名的cookie。只需传递
signed
选项。当给定时,res.cookie()
将使用传递给express.cookieParser(secret)
的秘密来签署值。稍后您可以通过req.signedCookies对象访问此值。