aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2017-04-17 20:22:06 -0700
committerAdam Soltys <[email protected]>2017-04-17 20:33:02 -0700
commit91f51c5b6fe595d84ff7aedbd6a241cacc957eec (patch)
treeaa3f66a06cce71e002dc8f3b8cced322cd18af0a
parente70a7bad02a23651a5c42a70a289ff7327589bbe (diff)
downloadcoinos-server-91f51c5b6fe595d84ff7aedbd6a241cacc957eec.tar.gz
coinos-server-91f51c5b6fe595d84ff7aedbd6a241cacc957eec.zip
cookie extractor
-rw-r--r--app.js2
-rw-r--r--passport.js16
-rw-r--r--routes/users.js9
3 files changed, 18 insertions, 9 deletions
diff --git a/app.js b/app.js
index a8c7c908..b411d734 100644
--- a/app.js
+++ b/app.js
@@ -1,5 +1,6 @@
const express = require('express')
const bodyParser = require('body-parser')
+const cookieParser = require('cookie-parser')
const passport = require('./passport')
const cache = require('./cache')
@@ -8,6 +9,7 @@ app.enable('trust proxy')
app.use(require('./blockcypher'))
app.use(bodyParser.urlencoded({ extended: true }))
app.use(bodyParser.json())
+app.use(cookieParser())
app.use(passport.initialize())
const users = require("./routes/users")
diff --git a/passport.js b/passport.js
index e79b53fe..776400a0 100644
--- a/passport.js
+++ b/passport.js
@@ -2,17 +2,23 @@ const passport = require('passport')
const db = require('./redis')
const jwt = require('passport-jwt')
+const cookieExtractor = function(req) {
+ let token = null
+ if (req && req.cookies) {
+ token = req.cookies['token']
+ console.log('set')
+ }
+ return token
+}
+
+
passport.use(new jwt.Strategy({
- jwtFromRequest: jwt.ExtractJwt.fromAuthHeader(),
+ jwtFromRequest: jwt.ExtractJwt.fromExtractors([cookieExtractor]),
secretOrKey: process.env.SECRET
}, function (payload, next) {
- console.log(payload)
db.hgetallAsync('user:' + payload.username).then((user) => {
- console.log(user)
- console.log(payload.username)
next(null, user)
}).catch((err) => {
- console.log(err)
next(null, false)
})
})
diff --git a/routes/users.js b/routes/users.js
index 3560bd71..3e05be9d 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -13,17 +13,18 @@ module.exports = {
if (result) {
let payload = { username: user.username }
let token = jwt.sign(payload, process.env.SECRET)
- res.json({message: 'ok', token: token})
+ res.cookie('token', token, { expires: new Date(Date.now() + 9999999) })
+ res.json({ token: token })
} else {
- res.status(401)
+ res.status(401).end()
}
}).catch((err) => {
console.log(err)
- res.status(401)
+ res.status(401).end()
})
}).catch((err) => {
console.log(err)
- res.status(401)
+ res.status(401).end()
})
},
secret (req, res) {