Nik*_*nov 4 mongodb node.js express
学习node.js遇到这个错误“登录会话需要会话支持。你忘记使用express-sessionmiddlewar了吗?” 有没有人在创建 Node.js 项目时遇到过这个特定错误,如果是的话,您是如何解决的?
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const passport = require('passport');
const path = require('path');
const config = require('./config/db');
const account = require('./routes/account');
const session = require('express-session');
const app = express();
const port = 3000;
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.use(cors());
app.use(bodyParser.json());
mongoose.connect(config.db);
mongoose.connection.on('connected', () => {
console.log("Successful connection to the database")
});
mongoose.connection.on('error', (err) => {
console.log("Not successful connection to the database")
});
app.listen(port, () => {
console.log("The server was running on the port: " + port)
});
app.get('/', (req,res) => {
res.send("Home page")
});
app.use('/account', account);
const express = require('express');
const router = express.Router();
const User = require('../models/user');
const passport = require('passport');
const jwt = require('jsonwebtoken');
const config = require('../config/db');
router.post('/reg', (req,res) => {
let newUser = new User({
name: req.body.name,
email: req.body.email,
login:req.body.login,
password: req.body.password,
});
User.addUser(newUser, (err, user) => {
if(err) {
res.json({success: false, msg: "User has not been added."})
}
else {
res.json({success: true, msg: "User has been added"})
}
})
});
router.get('/auth', (req,res) => {
res.send("Login page")
});
router.get('/dashboard', passport.authenticate('jwt', {session : false}), (req,res) => {
res.send("Dashboard")
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
该错误提出了一个相关问题:“您忘记使用快速会话中间件了吗?” 。
\n事实上,您正在加载passport.session()但没有使用express-session,这是一个要求。
要修复它,请在使用express-session 之前passport.session()使用:
app.use(session({ \xe2\x80\xa6 }));\napp.use(passport.initialize());\napp.use(passport.session());\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
16889 次 |
| 最近记录: |