Я пытаюсь добавить аутентификацию в моем приложении с passport.js
и passport-local-mongoose
и получаю ошибку, которую я пытался решить, используя другой подход, скажем, используя serialze
и deserialize
функцию из passport.js
, тогда это фактически Работа. Что я делаю не так здесь, пожалуйста, помогите ?
Я также попробовал другое решение, данное на этой табличке в отношении этого вопроса
**TypeError: User.serializeUser is not a function**
user. js файл в каталоге моделей
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const passportLocalMongoose = require('passport-local-mongoose');
const User = new Schema({
username: String,
password: String
});
User.plugin(passportLocalMongoose);
const User = mongoose.model('User', User);
exports.User = User
приложение. js файл выглядит как
const express = require('express'),
mongoose = require('mongoose'),
passport = require('passport'),
bodyParser = require('body-parser'),
User = ('./models/user'),
LocalStrategy = require('passport-local'),
passportLocalMongoose = require('passport-local-mongoose');
mongoose.connect('mongodb://localhost:27017/authdemoapp', {
useUnifiedTopology:true,
useNewUrlParser:true
});
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:true}))
// passport and sessions setup
app.use(require('express-session')({
secret: 'My Name Is IzharUlhaque',
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());