Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var LocalStrategy = require('passport-local').Strategy;
- var crypto = require('crypto');
- module.exports = function(passport) {
- pool.getConnection(function(err, connection)
- {
- 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]); }); });
- /* User Registration */
- passport.use('local-signup', new LocalStrategy({ 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 username is already taken.'));
- } else {
- connection.query("SELECT * FROM users WHERE mail = ?", [req.body.mail], function(err, rows) {
- if (err) return done(err);
- if (rows.length) {
- return done(null, false, req.flash('signupMessage', 'That email address is in use, identity theif!'));
- } else {
- var data = {
- username : username,
- password :crypto.createHash('md5').update(password).digest("hex"),
- };
- connection.query("INSERT INTO users (username, password, look, mail, auth_ticket) values (?, ?, 'hd-3095-8.ca-3292-110.lg-280-110.ch-210-100.hr-831-37.ha-3488-1408.cp-3309-92.sh-290-92', ?, '0')", [data.username, data.password, req.body.mail], function(err, rows) {
- if (err) throw err;
- data.id = rows.insertId;
- connection.query("INSERT INTO rp_stats (id) values (?)", [data.id], function(err, rows) {
- });
- return done(null, data);
- });
- }
- });
- }
- });
- }));
- /* The login */
- passport.use(
- 'local-login',
- 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('loginMessage', 'No user found.'));
- }
- request = crypto.createHash('md5').update(password).digest("hex");
- result = rows[0].password;
- if (request != result) {
- return done(null, false, req.flash('loginMessage', 'Oops! Wrong password.'));
- }
- return done(null, rows[0]);
- });
- })
- );
- connection.release();
- });
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement