首页 > 解决方案 > TypeError:User.serializeUser 不是函数

问题描述

我正在尝试在我的应用程序中添加身份验证passport.jspassport-local-mongoose获取错误,我试图用不同的方法解决它,比如通过使用serialzedeserialize功能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

app.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());

标签: javascriptpassport.js

解决方案


推荐阅读