Express.js – req.signedCookies 属性


req.signedCookies 包含使用 cookie-parser 中间件时请求发送的经过签名的 Cookie(随时可用)。已签名的 Cookie 存在于不同的对象中以便表示开发人员意图,否则对相对容易欺骗的 request.cookie 值进行恶意攻击。

如果没有发送 Cookie,则属性的默认值将设置为 "{ }"

语法

req.signedCookies

安装 cookie-parser 模块

npm install cookie-parser

示例 1

创建一个名称为 "reqSignedCookies.js" 的文件并复制以下代码段。创建文件后,使用命令 "node reqSignedCookies.js" 以运行此代码,如下所示 −

// req.signedCookies() Method Demo Example
// Importing the express & cookieParser module
var cookieParser = require('cookie-parser');
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining the cookieParser to be used
app.use(cookieParser());

// Defining an api endpoint
app.get('/api', function (req, res) {
   req.signedCookies.title='TutorialsPoint';
   console.log(req.signedCookies);
   res.send();
});
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

输出

使用 GET 请求访问以下端点:localhost:3000/api

C:\home
ode>> node reqSignedCookies.js Server listening on PORT 3000 [Object: null prototype] { title: 'TutorialsPoint' }

示例 2

我们来看另一个示例。

// req.signedCookies() Method Demo Example

// Importing the express & cookieParser module
var cookieParser = require('cookie-parser');
var express = require('express');

// Initializing the express and port number
var app = express();

// Initializing the router from express
var router = express.Router();
var PORT = 3000;

// Defining the cookieParser to be used
app.use(cookieParser());

// Defining an api endpoint
app.get('/api', function (req, res) {
   // Setting multiple cookies
   req.signedCookies.title='Mayank';
   req.signedCookies.age=21;
   console.log(req.signedCookies);
   res.send();
});

app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

输出

使用 GET 请求访问以下端点:localhost:3000/api

C:\home
ode>> node reqSignedCookies.js Server listening on PORT 3000 [Object: null prototype] { title: 'Mayank', age: 21 }

更新于:06-Apr-2022

246 次浏览

启动您的职业生涯

通过完成该课程获得认证

开始
广告