V
V
Vladimir2019-10-18 01:39:23
MySQL
Vladimir, 2019-10-18 01:39:23

How to combine mysql and passport.js for registration and authorization?

Good night. I have an authentication on passport.js and a registration module on mysql/socket.io.
Please tell me how can I search for a user in the database and compare, and how can I enter him into the database?
Thank you very much.

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: "[email protected]",
  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)
  	}
  })
);

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question