Глядя на интернет, многие люди делают «Регистрация» в паспорте, используя локальные стратегии. Но имеет ли это какое-либо преимущество между созданием записи в базе данных вручную?Используйте pass.js для регистрации пользователей или вручную создайте их?
Я хочу сказать, что если мы используем стратегию паспорта для этого, мы можем сделать:
passport.use('local-signup', new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
passReqToCallback: true
}, (req, email, password, done) => {
User.findOne({
email: email
})
.then(user => {
if (user) {
return done(null, false);
} else {
User.create(req.body)
.then(userCreated => {
return done(null, userCreated);
})
.catch(err => {
return done(err)
});
}
})
.catch(err => {
return done(err)
});
}
));
Но это на самом деле это нужно? Или мы можем создать нашего пользователя как это? (С использованием Bookshelf.js):
this.model.findOne({
email: email
})
.then(user => {
if (user) {
res.status(403).json({
message: 'Email not available.'
});
} else {
User.create(req.body)
.then(userCreated => {
res.status(201).json(userCreated);
})
.catch(err => {
next(err);
});
}
})
.catch(err => {
next(err);
});
}
Обычно паспортные данные используются для целей аутентификации, если вы хотите пойти дальше и создать пользователя, если он не зарегистрирован, это зависит от вашего приложения. – bpinhosilva