diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-09-25 17:36:53 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-09-25 17:36:53 -0400 |
| commit | 3aa171fbaf05d0ee5b82673443da51ed43719475 (patch) | |
| tree | 291426c3102cffff23f8b202ec14cd03df91e799 /lib/auth.js | |
| parent | ccd2a51e9206aa858313ae97550b09b9bf8476db (diff) | |
moving things around
Diffstat (limited to 'lib/auth.js')
| -rw-r--r-- | lib/auth.js | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/lib/auth.js b/lib/auth.js deleted file mode 100644 index 38901e4..0000000 --- a/lib/auth.js +++ /dev/null @@ -1,78 +0,0 @@ - -var passport = require('passport'), - LocalStrategy = require('passport-local').Strategy, - crypto = require('crypto'), - db = require('./db'); - - -var auth = module.exports = { - - init: function(){ - passport.serializeUser(auth.serializeUser) - passport.deserializeUser(auth.deserializeUser) - - passport.use(new LocalStrategy(auth.verifyLocalUser)) - }, - - serializeUser: function (user, done) { - done(null, user.id); - }, - - deserializeUser: function (id, done) { - db.getUser(id).then(function(user){ - done(! user, user) - }) - }, - - validPassword: function(user, pw){ - var shasum = crypto.createHash('sha1') - shasum.update(pw) - return user.get('password') === shasum.digest('hex'); - }, - - verifyLocalUser: function (username, password, done) { - // handle passwords!! - db.getUserByUsername(username).then(function(user){ - - // if (err) { return done(err); } - if (! user) { return done("no user") } - - return done(null, user) - - if (! user) { - return done(null, false, { error: { errors: { username: { message: 'No such username.' } }}}) - } - if (! auth.validPassword(user, password)) { - return done(null, false, { error: { errors: { password: { message: 'Incorrect password.' } }}}) - } - return done(null, user); - }) - }, - - loggedInLocal: function (req, res, next) { - passport.authenticate("local", function(err, user, info){ - if (err) { - return res.json({ error: err }); - } - if (! user) { - return info ? res.json(info) : res.redirect("/login"); - } - - // user.last_seen = new Date () - // user.save(function(err, data){ if (err) console.err('error setting ip for user') }) - - req.logIn(user, function(err) { - if (err) { return next(err); } - var returnTo = req.session.returnTo - delete req.session.returnTo - return res.json({ status: "OK", returnTo: returnTo || "/index" }) - }); - })(req, res, next) - }, - - logout: function (req, res) { - req.logout(); - res.redirect('/'); - }, - -}
\ No newline at end of file |
