aboutsummaryrefslogtreecommitdiffstats
path: root/passport.coffee
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2012-12-06 20:23:34 -0800
committerAdam Soltys <[email protected]>2012-12-06 20:23:34 -0800
commit749787381c3fdcfb45852b2234b8099483ff0cf5 (patch)
tree776f0b44a839426bcdf1e628eadc1b4b57b6638d /passport.coffee
parent00a08d7c8b10b726830505b58a045a49bb2046fe (diff)
downloadcoinos-server-749787381c3fdcfb45852b2234b8099483ff0cf5.tar.gz
coinos-server-749787381c3fdcfb45852b2234b8099483ff0cf5.zip
Code re-org
Diffstat (limited to 'passport.coffee')
-rw-r--r--passport.coffee30
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