我想在我的 Express 应用程序中使用 connect 的模块connect.session和connect.cookieParser. 根据文档,两者都接受一个secret参数。此密钥用于防止用户篡改 cookie。
我应该为两个模块设置相同的键,还是两个不同的?还是我应该只将钥匙传递给其中一个?
我想在我的 Express 应用程序中使用 connect 的模块connect.session和connect.cookieParser. 根据文档,两者都接受一个secret参数。此密钥用于防止用户篡改 cookie。
我应该为两个模块设置相同的键,还是两个不同的?还是我应该只将钥匙传递给其中一个?
您只需要使用其中一个进行设置。不过,您可以传递给每个,以便为它们提供不同secret的 s 以供使用。
他们之间的区别在于他们对它的所谓“贪婪”。
session(secret)将保留secret它自己,仅将它用于保存会话 ID 的 cookie。
cookieParser(secret),另一方面,将允许对任何 cookie 进行签名。
您可以使用 Express' 创建签名 cookie response.cookie()。
此方法也支持签名 cookie。只需传递
signed选项。给定时res.cookie()将使用传递给的秘密express.cookieParser(secret)对值进行签名。res.cookie('name', 'tobi', { signed: true });稍后您可以通过req.signedCookies对象访问该值。