2016-11-15 10 views
1

Глядя на интернет, многие люди делают «Регистрация» в паспорте, используя локальные стратегии. Но имеет ли это какое-либо преимущество между созданием записи в базе данных вручную?Используйте 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); 
}); 
} 
+0

Обычно паспортные данные используются для целей аутентификации, если вы хотите пойти дальше и создать пользователя, если он не зарегистрирован, это зависит от вашего приложения. – bpinhosilva

ответ

0

Прежде всего, давайте четко определить, что Passport.js:

"Паспорт является проверка подлинности промежуточного узла для" (http://passportjs.org/docs/overview)

Вы можете создать такого пользователя, а затем обработать остальную часть процесса входа с помощью вашего кода.

Но когда ваши правила аутентификации становятся более сложными (и они будут), когда Passport.js станет удобнее.

Используя это, вам не нужно тратить время на создание кода для обработки ограничений доступа, экспозиции API и т. Д. Passports.js обрабатывает все это для вас. Следовательно, вы можете сосредоточиться на других деталях реализации вашего приложения.

 Смежные вопросы

  • Нет связанных вопросов^_^