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");

 

posted @ 2020-12-13 13:41  半遮  阅读(165)  评论(0编辑  收藏  举报