diff options
| -rw-r--r-- | app.js | 2 | ||||
| -rw-r--r-- | passport.js | 16 | ||||
| -rw-r--r-- | routes/users.js | 9 |
3 files changed, 18 insertions, 9 deletions
@@ -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) { |
