📜  如何在 Express.js 的快速会话中不活动 1 分钟后使会话到期?

📅  最后修改于: 2022-05-13 01:56:32.311000             🧑  作者: Mango

如何在 Express.js 的快速会话中不活动 1 分钟后使会话到期?

在本文中,我们将了解如何在 Express.js 的 express-session 中不活动 1 分钟后使会话过期。

先决条件

  • 在 Windows 上安装 Node.js
  • 要在编辑器中设置节点项目,请参见此处。

需要模块:

npm install express
npm install express-session

调用接口:

var session = require('express-session')

要在 Express.js 的 express-session 中闲置 1 分钟后使会话过期,我们在中间件函数中使用expires: 60000

项目结构:

下面的示例说明了上述方法:

例子:

文件名:app.js

Javascript
// Call Express Api.
var express = require('express'),
 
    // Call express Session Api.
    session = require('express-session'),
 
    app = express();
 
// Session Setup
app.use(
    session({
 
        // It holds the secret key for session
        secret: "I am girl",
 
        // Forces the session to be saved
        // back to the session store
        resave: true,
 
        // Forces a session that is "uninitialized"
        // to be saved to the store
        saveUninitialized: false,
        cookie: {
 
            // Session expires after 1 min of inactivity.
            expires: 60000
        }
    })
);
 
// Get function in which send session as routes.
app.get('/session', function (req, res, next) {
 
    if (req.session.views) {
 
        // Increment the number of views.
        req.session.views++
 
        // Session will expires after 1 min
        // of in activity
        res.write(
'

Session expires after 1 min of in activity: ' + (req.session.cookie.expires) + '

')         res.end()     } else {         req.session.views = 1         res.end(' New session is started')     } })   // The server object listens on port 3000. app.listen(3000, function () {     console.log("Express Started on Port 3000"); });


使用以下命令运行 index.js 文件:

node app.js

现在要设置会话,只需打开浏览器并输入以下 URL:

http://localhost:3000/session
 

输出: 1 分钟不活动后,它将启动新会话,旧会话已过期。