- Initial commit... A DB, some routes, and basic authentication routines...
This commit is contained in:
30
strategies/auth/jwt.js
Normal file
30
strategies/auth/jwt.js
Normal file
@@ -0,0 +1,30 @@
|
||||
const passport = require('passport');
|
||||
const JwtStrategy = require('passport-jwt').Strategy;
|
||||
const ExtractJwt = require('passport-jwt').ExtractJwt;
|
||||
|
||||
const config = require('../../config');
|
||||
const User = require('../../models/user');
|
||||
|
||||
module.exports = function(passport) {
|
||||
passport.use(new JwtStrategy(
|
||||
{
|
||||
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
|
||||
secretOrKey: config.security.jwt.secret,
|
||||
issuer: config.security.jwt.issuer,
|
||||
audience: config.security.jwt.audience,
|
||||
},
|
||||
(jwt_payload, done) => {
|
||||
User.findOne({ _id: jwt_payload.sub }, (err, user) => {
|
||||
if (err) {
|
||||
return done(err, false);
|
||||
}
|
||||
|
||||
if (user) {
|
||||
return done(null, user);
|
||||
}
|
||||
|
||||
return done(null, false);
|
||||
});
|
||||
}
|
||||
));
|
||||
}
|
||||
Reference in New Issue
Block a user