cookie-parser 中间件用来解析客户端传过来的cookie,cookie-session 中间件用来建立基于cookie的会话session。
一、安装 cookie-parser 和 cookie-session
npm install cookie-parser npm install cookie-session
二、使用 cookie-parser 解析
const express = require('express'); const cookieParser = require('cookie-parser'); let app = express(); app.listen(8888); //使用解析cookie中间件 //cookieParser()参数一,用来设置签名密钥,可以是一个数组,设置多个。 app.use(cookieParser()); app.get('/', function (req, res) { //获取cookie信息 console.log('Cookies: ', req.cookies); //设置cookie //参数一表示,cookie名称 //参数二表示,cookie的值 //参数三表示,cookie的配置选项 // domain 域名 // path 路径 // expires 过期时间 // maxAge 有效时间(以毫秒为单位) // httpOnly 只能由web服务器访问 // secure 是否与https一起使用 // signed 是否签名 res.cookie('test', 'test', {path: '/', expires: new Date(Date.now() + 3600 * 1000)}); res.cookie('name', 'xiaoxu', {maxAge: 3600 * 1000}); res.end(); });
为了防止cookie信息被篡改,我们可以设置签名。
const express = require('express'); const cookieParser = require('cookie-parser'); let app = express(); app.listen(8888); //使用解析cookie中间件 //cookieParser()参数一,用来设置签名密钥,可以是一个数组,设置多个。 app.use(cookieParser('fermtp34n537m3o450')); app.get('/', function (req, res) { //获取cookie信息 console.log('cookies: ', req.cookies); //设置使用签名 res.cookie('test', 'test', {signed: true}); //使用签名的cookie通过下面方式获取 console.log('signedCookies: ', req.signedCookies); res.end(); });
二、使用 cookie-session 处理会话
注意cookie-session中间件是基于cookie的,会把会话信息存储在cookie里。
const express = require('express'); const cookieSession = require('cookie-session'); let app = express(); app.listen(8888); app.use(cookieSession({ //会话在cookie中的名称 name: 'session', //用于签名的密钥 keys: ['j239r5ndgffte'], //cookie过期时间,单位毫秒 maxAge: 3600 * 1000 })); app.get('/', function (req, res) { //获取会话数据 console.log(req.session); //设置会话数据 req.session.name = 'xiaoxu'; req.session.age = 24; req.session.sex = '男'; res.end(); });
版权声明:博主文章,可以不经博主允许随意转载,随意修改,知识是用来传播的。