Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var LocalStrategy = require("passport-local").Strategy;
- var mysql = require('mysql');
- var bcrypt = require('bcrypt-nodejs')
- var dbconfig = require('./database')
- var connection = mysql.createConnection(dbconfig.connection);
- connection.query('USE' + dbconfig.database);
- module.exports = function(passport) {
- passport.serializaUser(function(user, done){
- done(null, user.id);
- });
- passport.deserializeUser(function(id, done){
- connection.query("SELECT * FROM users WHERE id = ?", [id],
- function(err, rows){
- done(err, rows[0]);
- });
- });
- passport.use(
- 'local-signup',
- new LocalStrategy({
- usernameField: 'username',
- passwordField : 'password',
- passReqToCallback : true
- },
- function(req, username, password, done){
- connection.query("SELECT * FROM users WHERE username = ? ",
- [username], function(err, rows){
- if (err){
- return done(err);
- }
- if (rows.length){
- return done(null, false, req.flash('signupMessage', "That is already taken!"));
- } else {
- var newUserMySQL = {
- username: username,
- password : bcrypt.hashSync(password, null, null)
- };
- var insertQuery = "INSERT INTO users (username, password) values (?, ?)";
- connection.query(insertQuery, [newUserMySQL.username, newUserMySQL.password],
- function(err, rows){
- newUserMySQL.id = rows.insertId;
- return done(null, newUserMySQL);
- });
- }
- });
- })
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement