diff options
| author | Adam Soltys <[email protected]> | 2017-04-14 19:56:41 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2017-04-14 19:56:41 -0700 |
| commit | 7c5601109ae170cacb8b0df936c97e4006adbb03 (patch) | |
| tree | 4aeb3346d33c5ae30c6b7e8ab7f22f5e079f3c53 /passport.js | |
| parent | b7a4332e9487659532ea50cd8063d0cd44011dce (diff) | |
| download | coinos-server-7c5601109ae170cacb8b0df936c97e4006adbb03.tar.gz coinos-server-7c5601109ae170cacb8b0df936c97e4006adbb03.zip | |
server refactor and jwt auth
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 |
