express - 如何在 express 中设置和检索签名的 cookie
问题描述
我正在使用 Express 并通过出现在浏览器中来设置签名的 cookie,但是当我尝试在 Express 中检索它时,{}
在查看签名的 cookie 时我得到“未定义”或空对象:
app.use(require('cookie-parser')('something secret')// header
res.cookie('e', 'mycookie', {signed:true})
req.signedCookies['e'] //returns undefined
req.signedCookies //returns {}
知道发生了什么吗?
解决方案
你的中间件在哪里?
app.use(require('cookie-parser')('something secret') // header
app.use(function (req, res, next) {
res.cookie('e', 'mycookie', {signed:true})
req.signedCookies['e'] // returns undefined
req.signedCookies // returns {}
next()
})
此外,res.cookie
您正在对来自 Express 服务器的 HTTP 响应设置 cookie。检查您的 HTTP 响应以查看 cookie 是否存在。
您正在从req.signedCookies
传入的 HTTP 请求中获取 cookie。您的 cookie 是否设置在传入请求中?它有有效的签名吗?
在响应上设置 cookie 不会突然使该 cookie 在请求中可访问,对吧?因此,在响应中设置“e”,然后尝试在请求中获取“e”在我看来是行不通的。
推荐阅读
- c++ - 我不明白我在使用 sse 的代码中哪里有问题
- reactjs - 有没有办法使用 useRef() 在 React 函数组件中缓存来自 redux 连接的数据?
- django - 部署应用程序 Django Rest 时运行 ASGI 环境的问题
- typescript - 我将如何为 TypeScript 接口强制执行许多可选属性中的至少一个?
- python - 如何找到文件中所有句子的单词错误率?
- javascript - 如何按域过滤电子邮件列表并在 JavaScript 中计数?
- conda - conda 如何确定每个文件的目的地?
- typescript - 在不覆盖原始设置文件的情况下扩展打字稿文件的“包含”
- html - HTML表格无限滚动
- c# - 如何在内存中创建 zip 文件?