Node Express 操作( Cookie 和 Session )
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node Express 操作( Cookie 和 Session )相关的知识,希望对你有一定的参考价值。
1, Cookie 操作, 需要安装 cookie-parser 依赖 => npm i cookie-parser -D
2, 基本使用
// 引入 express
let express = require(‘express‘);
let cookieParse = require(‘cookie-parser‘); // cookie 依赖
// 创建服务器
var server = express();
server.listen(80);
// 响应请求
server.use(cookieParse("qianming")); // 操作 cookie 的配置, 并且声明签名参数
server.use(‘/‘, function (req, res) {
req.secret = "qianming"; // cookie 签名, 写入是需要配置 signed, 解析式需要在初始化声明签名参数
res.cookie("user", "黄伟强", { path:‘/‘, signed: true }); // 想客户端写入 cookie
res.send(req.cookies); // 读取所有的普通 cookie
res.send(req.signedCookies); // 读取带签名的 cookie
res.clearCookie(‘user‘); // 删除 cookie
res.end();
});
// 托管指定目录下的静态资源文件
server.use(express.static("E:/HTML"));
3, Session 操作需要安装 cookie-session 依赖 => npm i cookie-session -D
4, 基本使用
// 引入 express
let express = require(‘express‘);
let cookieSession = require(‘cookie-session‘);
// 创建服务器
var server = express();
server.listen(80);
// 响应请求
server.use(cookieSession({
name: ‘hwq‘, // 用于映射 cookie 和 session 的 session_id
keys: ["123", ‘hwq‘, ‘hahah‘], // 对 session 进行加密的数组, 越大安全, 一般为十万个
maxAge: 2 * 60 * 1024 // session 有效时间 毫秒
}));
server.use(‘/‘, function (req, res) {
req.session[‘user‘] = "huangweiqiang"; // 写入 session
res.send(req.session[‘user‘]); // 读取 session
delete req.session[‘user‘]; // 删除 session
});
// 托管指定目录下的静态资源文件
server.use(express.static("E:/HTML"));
以上是关于Node Express 操作( Cookie 和 Session )的主要内容,如果未能解决你的问题,请参考以下文章
Node.js-express框架-cookie设置参数详解和举例
Node.js/Express.js 会话管理 cookie 为会话 cookie
node.js + express.js + socket.io 授权:没有cookie
Node.js、Angular、express-session:由于 cookie 策略(sameSite cookie),Chrome 80 不保存会话
如何在 Cookie 上指定 SameSite 和 Secure(使用 axios/React/Node Express)
如何读取通过服务器端 (node-express) 上的 Passport 设置的客户端 (react) cookie?