From aecc01cdaf848c19b324dc299cb6ece550a01b29 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 20 Feb 2018 22:44:42 -0800 Subject: keep track of users' invoices --- passport.js | 52 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) (limited to 'passport.js') diff --git a/passport.js b/passport.js index c85c9a52..ac34178f 100644 --- a/passport.js +++ b/passport.js @@ -1,33 +1,31 @@ -const passport = require('passport') -const jwt = require('passport-jwt') -const dotenv = require('dotenv') +import passport from 'passport' +import jwt from 'passport-jwt' +import dotenv from 'dotenv' dotenv.config() -require('dotenv').config() - -const cookieExtractor = function(req) { - let token = null - if (req && req.cookies) { - token = req.cookies['token'] - } - return token +function cookieExtractor (req) { + if (req && req.cookies) return req.cookies['token'] + return null } -passport.use(new jwt.Strategy({ - jwtFromRequest: jwt.ExtractJwt.fromExtractors([cookieExtractor]), - secretOrKey: process.env.SECRET - }, async function (payload, next) { - const db = await require('./db') - db.User.findOne({ - where: { - username: payload.username - } - }).then((user) => { - next(null, user) - }).catch((err) => { - next(null, false) +module.exports = (db) => { + passport.use(new jwt.Strategy({ + jwtFromRequest: jwt.ExtractJwt.fromExtractors([cookieExtractor]), + secretOrKey: process.env.SECRET + }, async function (payload, next) { + try { + let user = await db.User.findOne({ + where: { + username: payload.username + } + }) + next(null, user) + } catch(err) { + next(null, false) + } }) - }) -) + ) + + return passport +} -module.exports = passport -- cgit v1.2.3