最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在Node.js中使用护照未定义错误信息要求的数据

网站源码admin18浏览0评论

在Node.js中使用护照未定义错误信息要求的数据

在Node.js中使用护照未定义错误信息要求的数据

passport.js

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var user = require('../modal/admin');

exports.passport = (passport) => {
passport.use(new LocalStrategy({
    usernameField: 'username',
    passwordField: 'password'
},
    (username, password, done, req) => {
        console.log(req)
        user.findOne(({ username: username }),  async (err, user) => {
        if (err) { return done(err); }
        if (!user) { return done(null, false); }
        const cpassword = await bcryptpare(password, user.password);
        if (!cpassword) { return done(null, false); }
        const token = jwt.sign(
            {
                id:user.id,
                username:user.username
            },
            "shubham"            
        );
        adminRecords = {
            token:token
        }
        req.data = adminRecords  ====>>>> Error here
        console.log(adminRecords)
        return done(null, user, adminRecords);
        });
    }
 ))
};
passport.serializeUser(function (user, done) {
 done(null, user)
})

passport.deserializeUser(function (id, done) {
 user.find(id, function (err, user) {
    done(err, user)       
 });
}); 

route.js

router.post('/login', passport.authenticate('local'));

给出错误请求数据。未定义数据。我正在使用护照本地策略,想在req.data中返回jwt令牌。它没有正确使用req参数。我被困在这里。任何人都可以帮我吗

回答如下:

回调函数只有3个参数

passport.use(new LocalStrategy({
    usernameField: 'username',
    passwordField: 'password'
},
    (username, password, done, req) => { // callback function have only 3 params 
// Additional codes
发布评论

评论列表(0)

  1. 暂无评论