如何使用cookieParser手动签署cookie?

时间:2017-06-22 02:23:38

标签: node.js express cookies

为了测试,我需要提供带有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')

1 个答案:

答案 0 :(得分:2)

该插件没有公开的方法。实际上,这很奇怪。所以我从插件的代码中删除了这篇文章。

在您的应用中执行:

<a href='#top'> Go back to the top of the page.</a>