Advertisement
Guest User

Untitled

a guest
Apr 29th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. var LocalStrategy = require("passport-local").Strategy;
  2. var mysql = require('mysql');
  3. var bcrypt = require('bcrypt-nodejs')
  4. var dbconfig = require('./database')
  5. var connection = mysql.createConnection(dbconfig.connection);
  6.  
  7. connection.query('USE' + dbconfig.database);
  8.  
  9. module.exports = function(passport) {
  10. passport.serializaUser(function(user, done){
  11. done(null, user.id);
  12. });
  13.  
  14. passport.deserializeUser(function(id, done){
  15. connection.query("SELECT * FROM users WHERE id = ?", [id],
  16. function(err, rows){
  17. done(err, rows[0]);
  18. });
  19. });
  20.  
  21. passport.use(
  22. 'local-signup',
  23. new LocalStrategy({
  24. usernameField: 'username',
  25. passwordField : 'password',
  26. passReqToCallback : true
  27. },
  28. function(req, username, password, done){
  29. connection.query("SELECT * FROM users WHERE username = ? ",
  30. [username], function(err, rows){
  31. if (err){
  32. return done(err);
  33. }
  34. if (rows.length){
  35. return done(null, false, req.flash('signupMessage', "That is already taken!"));
  36. } else {
  37. var newUserMySQL = {
  38. username: username,
  39. password : bcrypt.hashSync(password, null, null)
  40. };
  41. var insertQuery = "INSERT INTO users (username, password) values (?, ?)";
  42. connection.query(insertQuery, [newUserMySQL.username, newUserMySQL.password],
  43. function(err, rows){
  44. newUserMySQL.id = rows.insertId;
  45.  
  46. return done(null, newUserMySQL);
  47. });
  48. }
  49. });
  50. })
  51.  
  52. );
  53.  
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement