【发布时间】:2023-03-10 13:20:01
【问题描述】:
所以我正在使用 MERN 中的护照在我的网络上构建身份验证系统。
所以注册用户等一切正常
但是当我尝试使用不同的凭据重新注册时,它不起作用。
有没有办法解决这个问题?
这是我的代码:
const Strategy = require('passport-local').Strategy
const mongoose = require('mongoose')
const User = require('../models/user');
const bcrypt = require('bcryptjs')
const salt = bcrypt.genSaltSync(10);
const SignupStrategy = new Strategy ({ passReqToCallback:true, usernameField: 'email' }, function(req, email, password, done){
User.findOne({email: req.body.email}).lean().exec((err, user) => {
if (err) {
return done(err, null);
}
if (!user) {
const encryptedPassword = bcrypt.hashSync(password, salt);
let newUser = new User({
email,
password: encryptedPassword,
first_name: req.body.first_name,
last_name: req.body.last_name,
date: req.body.date
})
newUser.save((error, inserted) => {
if (error) {
return done(error, null);
}
return done(null, inserted);
})
}
if (user) {
return done("User already exist", null);
}
})
});
module.exports = SignupStrategy;
【问题讨论】:
标签: node.js reactjs mongodb passport.js