express 之 cookieParser 常规运用
const express = require("express"); const app = express(); const cookieParser = require("cookie-parser"); // 配置 cookiparser 中间件 app.use(cookieParser("jiamicanshu")); app.get("/", (req, res) => { // 多域名共享cookie, aaa.jt37.com 与 bbb.jt37.com 的cookie共享,在同个一级域名下的域名。 /* res.cookie("键", "值", {maxAge:多少毫秒,path:设置可访问该cookie的路由,domain:"共享的一级域名",secure:为true 时候cookie在http协议中是无效的 在https才有效 正常情况下不用管,}); */ // 设置cookie // 键为 username ,值为 zsan,参数中的:有效期 2分钟,只允许 "/usr" 路径下访问到,多个都是属于一级域名 .jt37.com 下的 二级域名可以共享此cookie, // res.cookie("username", "zsan", { maxAge: 1000 * 60 * 2, path: "/user", domain: ".jt37.com" }); res.cookie("username", "zsan", { maxAge: 1000 * 60 * 2 }); /* 签名 singed , cookie加密 : 1、配置中间件的时候需要传入加密的秘钥: app.use(cookieParser("jiamicanshu")) 2、res.cookie("username", "zsan", { maxAge: 1000 * 60 * 2, signed: true }); 3、req.singedCookies 获取 ; */ res.cookie("myname", "lisi", { maxAge: 1000 * 60 * 2, signed: true }); res.send("首页a"); }); app.get("/article", (req, res) => { // 获取cookie let username = req.cookies.username; res.send("新闻页面:" + username); }); app.get("/user", (req, res) => { // 获取cookie let username = req.cookies.username; console.log(username); // res.send("用户页面:" + username); res.send("用户页面:" + username); }); app.get("/product", (req, res) => { // 获取cookie // let myname = req.singedCookies.myname; let myname = req.singedCookies.myname; console.log(myname); // res.send("用户页面:" + username); res.send("product页面:" ); }); app.listen(3006); console.log("run server http://127.0.0.1:3006");