1 var passport = require('passport');
2 var LocalStrategy = require('passport-local').Strategy;
4 exports.setup = function(User, config) {
6 passport.use('local-login', new LocalStrategy({
8 passwordField: 'password' // this is the virtual field on the model
10 function(name, password, done) {
16 }).then(function(user) {
19 return done(null, false, {
20 message: 'This username is not registered.'
23 if (!user.authenticate(password)) {
24 return done(null, false, {
25 message: 'This password is not correct.'
28 // if (user.online && user.role !== 'admin') {
29 // console.log('User is already logged in');
30 // return done(null, false, {
31 // message: 'User is already logged in.'
36 // .updateAttributes({
39 // .then(function(user) {
40 return done(null, user);
42 // .catch(function(err) {
43 // return done(null, false, {
44 // message: 'Unable to set up online parameters.'
47 }).catch(function(err) {
53 // passport.use('local-signup', new LocalStrategy({
54 // usernameField: 'name',
55 // passwordField: 'password',
56 // passReqToCallback: true
58 // function(req, name, password, done) {
67 // .then(function(user) {
69 // return done(null, false, {
70 // message: 'That email is already taken.'
73 // var newUser = User.build(req.body);
74 // newUser.provider = 'local';
75 // newUser.online = true;
79 // return done(null, newUser);
81 // .catch(function(err) {
86 // .catch(function(err) {
90 // // user is logged in and already has a local account. Ignore signup. (You should log out before trying to create a new account, user!)
91 // return done(null, req.user);