API
cookie-Parser和 -session 这两个中间件在express 4版本之后解耦了,最开始如果用express-session 的话一定也要用cookieParser,中间件包含三个模块:cookie, cookie-praser, cookie-signature.;
其中,cookie cookie-signature这两个模块是private的。所有的public API都在cookie-Parser中。
req.secret:传入的秘钥用于对cookie进行加密 req.cookies:对req.headers.cookie中的cookie进行解析,返回的一个对象 req.signedCookies:保存的是解析后的cookie的真实值,但是可能还会被JSONCookie进行处理 |
cookie-Parser 有四个接口;
module.exports = cookieParser; module.exports.JSONCookie = JSONCookie; module.exports.JSONCookies = JSONCookies; module.exports.signedCookie = signedCookie; module.exports.signedCookies = signedCookies; |
Cookie签名方法:
var express = require('express'); // 首先引入 cookie-parser 这个模块 var cookieParser = require('cookie-parser'); var app = express(); /*--------------采用签名方式--------------*/ //第一步 设置签名 string app.use(cookieParser('singedMyCookie')); app.get('/', function (req, res) { if (req.signedCookies.bwf) { //第三步: 使用signedCookies获取cookie (采用签名形式获取cookie的方法: req.signedCookies. console.log(req.signedCookies); res.send("再次欢迎访问"); } else { //第二步: 设置{signed: true} res.cookie("bwf", "hhw", {signed: true}); res.send("欢迎第一次访问"); } }); app.listen(3000); |