diff options
Diffstat (limited to 'passport.js')
| -rw-r--r-- | passport.js | 58 |
1 files changed, 15 insertions, 43 deletions
diff --git a/passport.js b/passport.js index 39874bd1..1395614b 100644 --- a/passport.js +++ b/passport.js @@ -1,45 +1,17 @@ -(function() { - var LocalStrategy, bcrypt, db, passport; +const passport = require('passport') +const jwt = require('passport-jwt') - db = require("redis").createClient(); +passport.use(new jwt.Strategy({ + jwtFromRequest: jwt.ExtractJwt.fromAuthHeader(), + secretOrKey: process.env.SECRET + }, (payload, next) => { + const user = {} // todo + if (user) { + next(null, user) + } else { + next(null, false) + } + }) +) - bcrypt = require('bcryptjs'); - - passport = require('passport'); - - LocalStrategy = require('passport-local').Strategy; - - passport.serializeUser(function(user, done) { - return done(null, user.username.toLowerCase()); - }); - - passport.deserializeUser(function(username, done) { - return db.hgetall("user:" + username.toLowerCase(), function(err, user) { - return done(null, user); - }); - }); - - passport.use(new LocalStrategy(function(username, password, done) { - return db.hget("user:" + username.toLowerCase(), 'password', function(err, hash) { - if (err) { - return done(err); - } - if (hash) { - return bcrypt.compare(password, hash, function(err, match) { - if (match) { - return db.hgetall("user:" + username.toLowerCase(), function(err, user) { - return done(null, user); - }); - } else { - return done(null, false); - } - }); - } else { - return done(null, false); - } - }); - })); - - module.exports = passport; - -}).call(this); +module.exports = passport |
