我只是试图通过以下教程实现身份验证和会话到我的应用程序。我目前卡住的问题可能是由于更新的软件包。我正在使用express-session
和connect-mongo
,但我一直得到错误"提供秘密…">
const express = require('express');
const session = require('express-session');
const mongoose = require("mongoose")
const MongoStore = require("connect-mongo")
const cors = require("cors");
const axios = require('axios');
const User = require('./models/user')
const app = express()
mongoose.connect(process.env.ATLAS_URI).then(console.log("MongoDB Connection Success")).catch(err => console.log("MongoDB Connection Failed" + err))
// For backend and express init
app.use(express.json());
app.use(express.urlencoded({ extended: false }))
app.use(session({
sercret: 'random secret',
resave: false,
saveUninitialized: true,
store: MongoStore.create({ mongoUrl: process.env.ATLAS_URI }),
}));
有关更多上下文,我所遵循的指南是https://medium.com/swlh/set-up-an-express-js-app-with-passport-js-and-mongodb-for-password-authentication-6ea05d95335c
要将库从V3迁移到V4,需要重新安装依赖项。
如果您使用npm
- npm uninstall connect-mongo npm uninstall @types/connect-mongonpm install connect-mongo
如果您使用的是纱线
-
纱删除connect-mongo
-
yarn remove @types/connect-mongo
-
yarn add connect-mongo
下一步是导入依赖项
Javascript:
const MongoStore = require('connect- mongodb ');
:
从'connect-mongo'导入monstore;
使用MongoStore. Create (options)代替new MongoStore(options)创建存储
app.use(会话({秘密:"foo",存储:MongoStore.create(选项)}));