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?