diff options
| author | Adam Soltys <[email protected]> | 2014-07-31 21:06:23 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2014-07-31 21:06:23 -0700 |
| commit | 7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9 (patch) | |
| tree | f387c3d4e3ce9ed0c464659a787b99d8c6e90fb9 /src/passport.coffee | |
| parent | de1cdd2e3f9d9f36ce3d8e97335341cc3237e829 (diff) | |
| download | coinos-server-7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9.tar.gz coinos-server-7c5dfc8d51efe4df4e67f86f33c489a320fcb8f9.zip | |
Move coffee files to src/ folder
Diffstat (limited to 'src/passport.coffee')
| -rw-r--r-- | src/passport.coffee | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/passport.coffee b/src/passport.coffee new file mode 100644 index 00000000..12913424 --- /dev/null +++ b/src/passport.coffee @@ -0,0 +1,35 @@ +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("user:"+username, (err, user) -> + return done(null, user) + ) +) + +passport.use(new LocalStrategy( + (username, password, done) -> + db.hget("user:"+username, 'password', (err, hash) -> + return done(err) if err + if hash + bcrypt.compare(password, hash, (err, match) -> + if match + db.hgetall("user:"+username, (err, user) -> + return done(null, user) + ) + else + return done(null, false) + ) + else + return done(null, false) + ) +)) + +module.exports = passport |
