Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.get('/', function(req, res) {
- if(req.user) {res.render('user'), {name:req.user.username, id:req.user.id}}
- else
- if(!req.user) {res.render('index')};
- });
- passport.serializeUser(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) {
- // find a user whose email is the same as the forms email
- // we are checking to see if the user trying to login already exists
- connection.query("SELECT * FROM users WHERE username = ?",[username], function(err, rows) {
- if (err)
- return done(err);
- if (rows.length) {
- return done(null, false, {message: 'That username is already taken'});
- } else {
- var newUserMysql = {
- username: username,
- password: bcrypt.hashSync(password, null, null) // use the generateHash function in our user model
- };
- 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);
- });
- }
- });
- })
- );
- passport.use(
- 'local-login',
- new LocalStrategy({
- // by default, local strategy uses username and password, we will override with email
- usernameField : 'username',
- passwordField : 'password',
- passReqToCallback : true // allows us to pass back the entire request to the callback
- },
- 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, {message: 'No user found'});
- }
- // if the user is found but the password is wrong
- if (!bcrypt.compareSync(password, rows[0].password))
- return done(null, false, {message: 'Ops, wrong password'});
- return done(null, rows[0]);
- });
- })
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement