nodejs之express中间件cookie-parser使用
知识点:
* 1、domain的使用,.aaa.com的域名都共享这个cookie信息 * res.cookie(\'username\',"cookie value",{maxAge:60000,domain:\'.aaa.com\'}); * 2、获取所有cookie,设置cookie * req.cookies / res.cookie("cookieName","cookieValue") * 3、path设置,使得cookie只能在/get路由下才可以获取 * res.cookie(\'username\',"cookie value",{maxAge:60000,path:\'/get\',domain:\'.aaa.com\'}); * 4、httpOnly:true * res.cookie(\'username\',"cookie value",{maxAge:60000,httpOnly:true,domain:\'.aaa.com\'}); * 表示只能在nodejs服务端可以操作cookie,不能使用js脚本操作 * 5、signed:true * cookie加密 * cookie加密: * 1、在保存的时候进行加密 * 2、cookie-parser中间件中有一个signed:true属性 * 第一步:app.use(cookieParser("123456"));//使用signed时,要穿一个加密盐 * 第二部:res.cookie("username","cookie value",{maxAge:60000,signed:true}); * 第三部:console.log(req.signedCookies); 或者 console.log(req.signedCookies.username);
1、先安装express以及中间件cookie-parser
npm install express npm install cookie-parser
2、案例如下
var express = require(\'express\'); var cookieParser = require(\'cookie-parser\'); //引用中间件 var app = new express(); //创建实例 app.use(cookieParser());//设置中间件 app.get(\'/set\',function (req,res) { res.cookie("username",\'yangwenjie\',{maxAge:60000}); //设置cookie和过期时间 res.send("set cookie sucessful"); }) app.get(\'/get\',function (req,res) { console.log(req.cookies); //拿取cookies res.send("set cookie sucessful"); }) app.get(\'/\',function (req,res) { res.send("index"); }) app.listen(\'8001\');
3、获取和设置cookie的demo
const cookieParser = require(\'cookie-parser\'); const express = require(\'express\'); const app = express(); app.use(cookieParser("123456"));//使用signed时,要穿一个加密盐 app.get(\'/\',function (req,res) { res.cookie("username","cookie value",{maxAge:60000,signed:true});//设置cookie res.send(\'index\'); }) app.get(\'/get\',function (req,res) { console.log(req.signedCookies.username);//获取特定cookie值 res.send(" get cookie value"); }) app.listen(\'8002\');