HistoryART
@HistoryART
Целеустремлённый

Как совместить mysql и passport.js для регистрации и авторизации?

Доброй ночи.У меня есть аутентификация на passport.js и модуль регистрации на mysql/socket.io.
Скажите пожалуйста как мне искать пользователя в базе и сравнивать,а так-же как мне заносить его в базу?
Спасибо большое.

const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;

const mysql = require('mysql');

// var connection = mysql.createConnection({
// 	  /* host: "localhost",
// 	   user: "root",
// 	   password: "",
// 	   database: "tabels"*/
// });

// connection.query("SELECT * FROM users WHERE email LIKE '" + data[0] + "' AND password LIKE '" + data[1] + "'", function(err,res) {
// 	  	if(err) console.log(err);
// 	  	else {
	  		
// 	  		var count = res.map((item) => item.email.split("\r")[0]).length;
	  			  		
// 	  		for(i=0; i<count; i++) {	  				  
// 	  			var id = res.map((item) => item.id.split("\r")[0])[i];			
// 	  			var email = res.map((item) => item.email.split("\r")[0])[i];
// 	  			var password = res.map((item) => item.password.split("\r")[0])[i];
// 	  			console.log(data);	  									 			
// 	  		}
	  		
// 	  	}
// 	  });

const userDB = {
	id: 1,
	email: "test@mail.ru",
	password: "123"
}

passport.serializeUser(function(user, done) {
	console.log("Serialize: ", user);
  	done(null, user.id);
});

passport.deserializeUser(function(id, done) {
  /*User.findById(id, function(err, user) {
    done(err, user);
  });*/

  	console.log("Deserialize: ", id);
  	user = (userDB.id === id) ? userDB : false;
  	done(null, user);

});

passport.use(new LocalStrategy(
	{usernameField: 'email'},
  function(email, password, done) {
  	if(email === userDB.email && password === userDB.password) {
  		return done(null,userDB)
  	}
  	else {
  		return done(null,false)
  	}
  })
);
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы