javascript - passport.use(new LocalStrategy({usernameField:'email'},User.authenticate())); TypeError:User.authenticate 不是函数
问题描述
const express=require('express');
const app=express();
******
const passport=require('passport');
const LocalStrategy=require('passport-local').Strategy;
//requiring user route
const userRoutes=require('./routes/users');
//requiring user model
const User=require('./models/usermodel');
dotenv.config({path:'./config.env'});
//middleware for session
***********
//passport middleware
app.use(passport.initialize());
app.use(passport.session());
以下 3 行显示错误,“验证”不是函数
passport.use(new LocalStrategy({usernameField:'email'},User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
删除以上 3 行后,服务器启动但未获得身份验证
这是用户模型文件
const mongoose=require('mongoose');
const passportLocalMongoose=require('passport-local-mongoose');
let userSchema=new mongoose.Schema({
name:String,
email:String,
password:{
type:String,
select:false
}
});
userSchema.plugin(passportLocalMongoose,{usernameField:'email'});
module.exports=mongoose.model('User',userSchema);
解决方案
推荐阅读
- php - 使用基本授权作为中间件 PSR-7 PSR-15
- android - Kotlin ArrayAdapter 错误:不能使用提供的参数调用以下函数
- airflow - 如何在 systemd 中使用 Airflow 调度程序?
- python - 如何在结构化主题建模 R-package 中绘制文档主题分布?
- node.js - 是否可以在 `npm start` 上的不同 url 上提供 react 应用程序
- ios - iOS 12 中的 UIButton 图像偏移
- java - 是否可以在多个 websocket 流上订阅 websocket 会话并控制订阅
- php - 强制提前续订 PayPal 沙盒订阅
- r - 有效地填充日期之间的值
- javascript - 如何将文本区域转换为链接?