cookie-parser是一个用于cookie签名和签名解析的中间件,将返回前台的cookie设置属性signed
值true
签名,也通过请求的signedCookies
获取签名的cookie值。
系统初始化时use
该中间件cookie-parser传secret
参数作为密钥,同一密钥的系统可解析处理签名的cookie。
如果不需要签名某个cookie,就不用设置属性signed为true,同样我们直接从请求的cookies
属性里获取该cookie
npm install cookie-parser
var express = require('express')
var cookieParser = require('cookie-parser')
var app = express()
app.use(cookieParser())
// app.use((cookiePaser('传入的密钥'))
app.get('/', function (req, res) {
// 没有签名的cookie值从请求的cookies获取
console.log('Cookies: ', req.cookies)
// 签名的cookie值从请求的signedCookies里获取
console.log('Signed Cookies: ', req.signedCookies)
})
// 需要签名传singed为true
res.cookie('name','yourName',{
maxAge:60*1000,
signed:true // 这个设为true即可对该cookie签名
})
// 不需要签名不传signed
res.cookie('sex', 'unknown')
res.clearCookie(name [, options])
name 是 cookie 名,options 与创建 cookie 时所传一致
或者设置cookie的maxAge为0
res.cookie('name', 'yourName', { maxAge: 0 })
属性 | 解说 | 类型 |
---|---|---|
domain | cookie在什么域名下有效。默认为网站域名 | String |
expires | cookie过期时间。如果没有设置或者设置为0,那么该cookie只在这个session有效,即关闭浏览器后,这个cookie会被浏览器删除。 | Date |
httpOnly | 只能被web server访问。 | Boolean |
maxAge | 实现expires的功能,设置cookie过期的时间,指明从现在开始多少毫秒以后cookie到期。 | String |
path | cookie在什么路径下有效,默认为’/’ | String |
secure | 只能被HTTPS使用,默认为false | Boolean |
signed | 是否对cookie签名,默认为false。express会使用req.secret来完成签名,需要cookie-parser配合使用 | Boolean |