【发布时间】:2022-05-01 08:44:14
【问题描述】:
为了测试,我需要提供一个带有 HTTP 请求的签名 cookie。这样,我的 Express 应用服务器可以将其视为签名 cookie 并将其放入 req.signedCookies 对象中。
但是我在docs 中找不到合适的方法。
我想做以下事情:
let signed = cookieParser.signYourCookie({ cookieName: 'cookieValue' }, secretString);
// => cookieName=cookieValue.9PuJzypXeGq3tc2fFvlukjgNZ518jk
这是与cookieParser.signedCookie(str, secret)method相反的操作。 ExpressJS 在后台自动执行此操作,但有时需要手动签署 cookie,并且该方法似乎丢失了。
解释我为什么需要这个。我使用Chai-http 并且需要为请求设置一个cookie。我需要它是一个签名的 cookie,所以我的服务器可以找到它 req.signedCookies 对象:
chai.request('http://foo.com')
.get('/url/path')
.set('my-signed-cookie', 'value-of-my-signed-cookie')
【问题讨论】: