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