msa6886
@msa6886

Для чего необходимо использовать passport local стратегию для проверки юзера?

Для чего использовать passport local strategy для проверки юзера?, если можно проверить юзера без passport?
module.exports = function(passport) {
    passport.use('local-signin',
      new LocalStrategy({
          usernameField : 'email',    
          passwordField : 'password',
      },
      async (email, password, callback)=>{ 
        if(email && password) {
          let result = await sqlQuery("SELECT * FROM users WHERE username = '"+email+"'"); // проверка юзера
          if (!result.length) {
            console.log("юзер не найден");
            return callback(null, false, {message: 'Incorrect email'});
          }

          let res = bcrypt.compareSync(password, result[0].password); 
          if(res) {
            console.log("Пароль совпал", result[0])
            return callback(null, result[0])
          }else {
            return callback(null, false, {message: 'Incorrect email or password'});
          }
        }
      })
    );
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xuxicheta
@Xuxicheta
инженер
Стандартизация интерфейса. Наличие единообразных проверок в passport позволило написать для него разных "стратегий". Можно рассматривать passport как кусочек фреймворка, отвечающий за авторизацию.

Если вам это неважно, то можете и не использовать, сделайте просто миддлварь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы