Lea*_*ehr 1 cookies node.js express
如果我理解cookie签名正确,那么它的作用是:设置cookie时用秘密签名。使用相同的秘密对cookie进行签名,以确认接收它时未更改它。
现在,在expressjs中,res.cookie()可以设置cookie,并且需要使用“签名”布尔值来设置cookie是否应该签名。
现在,用于签名的秘密是什么?我认为它可能使用了提供给的机密cookieParser(),但实际上在文档中的任何地方都没有明确提及。
所以我的问题本质上是:如何设置用于在expressjs中演唱Cookie的秘密?
我确实阅读了快速文档,并在google和stackoverflow中搜索了答案,如果我遗漏了一些明显的内容,对不起。
小智 5
Express确实会使用提供的秘密cookie-parser对您的Cookie进行签名。Cookie解析器会将机密信息注入您的request对象。然后,express将使用它来签名cookie。如果没有提供任何秘密给cookie-parser(或其他中间件),那么在尝试设置新的签名cookie时,express将抛出错误。
回答您的问题,这就是您应该如何设置机密(使用cookie-parser):
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser('your-secret'))
app.get('/', (req, res, next) => {
res.cookie('name', 'value', { signed: true })
res.json({})
})
Run Code Online (Sandbox Code Playgroud)
然后它将在中可用req.signedCookies。
| 归档时间: |
|
| 查看次数: |
2168 次 |
| 最近记录: |