【问题标题】:Storing sessions with express-session, connect-mongo, and mongoose使用 express-session、connect-mongo 和 mongoose 存储会话
【发布时间】:2021-10-20 18:55:50
【问题描述】:

我正在寻找有关使用 Express-Session、connect-mongo 和 Mongoose 设置基于会话的身份验证的指导。目前它只是为每个请求生成一个新的 UUID,而不是将任何内容保存到会话集合中。我错过了什么明显的东西吗?

index.js

const mongoose = require("./db/connection");
const express = require("express");
const cors = require('cors')
const session = require('express-session')
const MongoStore = require("connect-mongo");
const app = express();
const { v4: uuidv4 } = require('uuid');

//Register .env file
require('dotenv').config()


//Middleware
app.use(express.json());
app.use(session({
  genid: (req) => {
    return uuidv4()
  },
  secret: process.env.EXPRESS_SESSION_SECRET,
  resave: true,
  saveUninitialized: false,
  cookie: { maxAge: 24 * 60 * 60 * 1000 },
  store: MongoStore.create({
    client: mongoose.connection.getClient(),
    dbName: process.env.MONGO_DB_NAME,
    collectionName: "sessions",
    stringify: false,
    autoRemove: "interval",
    autoRemoveInterval: 1
    })
  }) 
);

connection.js

const mongoose = require("mongoose");
require('dotenv').config()

mongoose.connect(`mongodb://devroot:devroot@localhost:27017/${process.env.MONGO_DB_NAME}?authSource=admin`, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useFindAndModify: false,
  useCreateIndex: true
});


mongoose.connection
  .on("open", () => console.log("The goose is open"))
  .on("close", () => console.log("The goose is closed"))
  .on("error", (error) => {
    console.log(error);
    process.exit();
  })

module.exports = mongoose;

【问题讨论】:

  • 您使用的是expressexpress-sessionconnect-mongo的哪个版本?
  • “express”:“^4.17.1”,“connect-mongo”:“^4.5.0”,“express-session”:“^1.17.2”,“mongoose”:“ ^5.13.7",

标签: node.js mongodb express mongoose express-session


【解决方案1】:

发布以提高知名度;这与:

saveUninitialized: false

将其更改为真实部队保存到商店。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    相关资源
    最近更新 更多