程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了尝试使用通行证 js 时,LocalStrategy 错误需要验证回调大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决尝试使用通行证 js 时,LocalStrategy 错误需要验证回调?

开发过程中遇到尝试使用通行证 js 时,LocalStrategy 错误需要验证回调的问题如何解决?下面主要结合日常开发的经验,给出你关于尝试使用通行证 js 时,LocalStrategy 错误需要验证回调的解决方法建议,希望对你解决尝试使用通行证 js 时,LocalStrategy 错误需要验证回调有所启发或帮助;

此代码与我遵循的护照配置教程相同。它没有错误,但我面临着这个:

尝试使用通行证 js 时,LocalStrategy 错误需要验证回调@H_262_6@@H_262_6@@H_262_6@

这是我的护照配置文件,我在其中配置了我的本地护照。我曾使用 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,请注明来意。