diff options
| author | Adam Soltys <[email protected]> | 2012-12-06 20:23:34 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2012-12-06 20:23:34 -0800 |
| commit | 749787381c3fdcfb45852b2234b8099483ff0cf5 (patch) | |
| tree | 776f0b44a839426bcdf1e628eadc1b4b57b6638d /passport.coffee | |
| parent | 00a08d7c8b10b726830505b58a045a49bb2046fe (diff) | |
| download | coinos-server-749787381c3fdcfb45852b2234b8099483ff0cf5.tar.gz coinos-server-749787381c3fdcfb45852b2234b8099483ff0cf5.zip | |
Code re-org
Diffstat (limited to 'passport.coffee')
| -rw-r--r-- | passport.coffee | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/passport.coffee b/passport.coffee new file mode 100644 index 00000000..280117d1 --- /dev/null +++ b/passport.coffee @@ -0,0 +1,30 @@ +db = require("redis").createClient() +bcrypt = require('bcrypt') + +passport = require('passport') +LocalStrategy = require('passport-local').Strategy + +passport.serializeUser((user, done) -> + done(null, user.username) +) + +passport.deserializeUser((username, done) -> + db.hgetall(username, (err, user) -> + return done(null, user) + ) +) + +passport.use(new LocalStrategy( + (username, password, done) -> + db.hget(username, 'password', (err, hash) -> + if hash + bcrypt.compare(password, hash, (err, match) -> + if match + db.hgetall(username, (err, user) -> + return done(null, user) + ) + ) + ) +)) + +exports.passport = passport |
