Node.js-Passport,完成不是功能

菲龙

我正在使用以下版本来学习护照和本地护照:

“ passport”:“ ^ 0.4.0”,“ passport-local”:“ ^ 1.0.0”

问题是,当获取表单数据后尝试编写用户注册表时,会收到以下错误消息:

(节点:9120)UnhandledPromiseRejectionWarning:TypeError:done不是Strategy.passport.use.LocalStrategy上的函数[作为_verify](C:\ codes \ Gclimb \ passport \ localAuth.js:27:5)

这是我的localAuth.js的代码

const passport = require('passport')
const LocalStrategy = require('passport-local').Strategy
const User = require('../models/user')

passport.serializeUser((user, done) => {
    done(null, user.id)
})

passport.deserializeUser(async(id, done) => {
    const user = await User.findById(id)
    done(null, user)
})

passport.use('local-signup', new LocalStrategy({

    usernameField: 'username',
    passwordField: 'password',
    passReqToCallback: true

}, async (req, username, email, password, done) => {

    const user = new User()
    user.email = email
    user.password = password
    user.username = username
    await user.save()
    done(null, user) // <----- Line 27(error)
}))
Muhand Jumah

您传递的论据少于您的期望

我暂时删除了该电子邮件,如果可行,我们将担心该电子邮件

const passport = require('passport')
const LocalStrategy = require('passport-local').Strategy
const User = require('../models/user')

passport.serializeUser((user, done) => {
    done(null, user.id)
})

passport.deserializeUser(async(id, done) => {
    const user = await User.findById(id)
    done(null, user)
})

passport.use('local-signup', new LocalStrategy({

    usernameField: 'username',
    passwordField: 'password',
    passReqToCallback: true

}, async (req, username, password, done) => {

    const user = new User()
    user.password = password
    user.username = username
    await user.save()
    done(null, user) // <----- Line 27(error)
}))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章