大佬教程收集整理的这篇文章主要介绍了尝试使用通行证 js 时,LocalStrategy 错误需要验证回调,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
此代码与我遵循的护照配置教程相同。它没有错误,但我面临着这个:
这是我的护照配置文件,我在其中配置了我的本地护照。我曾使用 bcrypt 包来保护密码。这不是主文件。@H_262_6@
const LocalStrategy = require('passport-local').Strategy;
const User = require("../model/user");
const bcrypt = require("bcrypt");
function init(passport){
passport.use(new LocalStrategy({usernameFIEld:'email'}),async(email,password,donE)=>{
// check if email exist
const user =await User.findOne({email:email});
if(!user){
return done(null,false,{message : "user doesnot exist"});
}
bcrypt.compare(password,user.password).then(match=>{
if(match){
return done(null,user,{message : "logged in successfully"});
}
return done(null,{message : "email or password incoorect"});
}).catch(err =>{
return done(null,{message : "Something went wrong"});
})
})
passport.serializeUser((user,donE)=>{
done(null,user._ID)
})
passport.deserializeUser((ID,donE)=>{
user.findByID(ID,(err,user)=>{
done(err,user);
})
})
}
module.exports = init;
这是我的主服务器文件@H_262_6@
require("dotenv").config();
const express = require("express");
const path = require("path");
const expressLayout= require("express-eJs-layouts");
const app = express();
const PORT=process.env.PORT || 3000;
const url = process.env.CONNECTION;
const session = require("express-session");
const flash = require("express-flash");
const passport = require("passport");
// defining public and vIEw path
const publicPath = path.join(__dirname,"./public");
const vIEwPath = path.join(__dirname,"/resources/vIEws");
//setTing database
const mongoose = require("mongoose");
mongoose.connect(url,{
useNewUrlParser: true,useUnifIEdtopology: true,useCreateIndex:true,useFindAndModify:true,useUnifIEdtopology:true
})
const connection = mongoose.connection;
connection.once('open',()=>{
console.log("Database COnnected successfully");
}).catch(err =>{
console.log("Connection Failed");
})
// setTing session and cookie
app.use(session({
secret:process.env.secret,resave: false,saveUninitialized: true,cookie: {
maxAge:1000*60*60*24 // 24 hours
}
}));
// passport setTing
const passporTinit = require("./app/config/passport");
passporTinit(passport);
app.use(passport.session());
// Global MIDdle ware
app.use(express.static(publicPath));
app.use(express.Json());
app.use(expresS.Urlencoded({extended:falsE}))
app.use(flash());
app.use(passport.initialize());
app.use((req,res,next)=>{
res.locals.session = req.session;
next();
})
//setTing template ENGIne
app.set("vIEws",vIEwPath);
app.set("vIEw ENGIne","eJs");
app.use(expressLayout);
require('./route/web')(app);
app.Listen(PORT,()=>{
console.log(`Listening to Port ${PORT}`);
})
我的服务器文件@H_262_6@
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!@H_262_6@
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。@H_262_6@
小编邮箱:dio#foxmail.com (将#修改为@)@H_262_6@
以上是大佬教程为你收集整理的尝试使用通行证 js 时,LocalStrategy 错误需要验证回调全部内容,希望文章能够帮你解决尝试使用通行证 js 时,LocalStrategy 错误需要验证回调所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。