Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var passport = require('passport')
  2. var LocalStrategy = require('passport-local').Strategy
  3. var passportJWT = require('passport-jwt')
  4. var JWTStrategy = passportJWT.Strategy
  5. var ExtractJwt = passportJWT.ExtractJwt
  6. var User = require('../model/user')
  7.  
  8. passport.use(new LocalStrategy({
  9.     usernameField: 'username',
  10.     passwordField: 'password'
  11. },
  12.     async function (username, password, cb) {
  13.         try {
  14.             var user = await User.findOne({ username, password }).exec()
  15.             if (!user) {
  16.                 return cb(null, false, { message: 'Nome de usuário ou senha incorreta.' })
  17.             }
  18.             return cb(null, user._id.toString(), { message: 'Atenticado com sucesso!' })
  19.         }
  20.         catch (err) {
  21.             return cb(err)
  22.         }
  23.     }
  24. ))
  25.  
  26.  
  27. passport.use(new JWTStrategy(
  28.     {
  29.         jwtFromRequest: ExtractJwt.fromAuthHeaderWithScheme('JWT'),
  30.         secretOrKey: 'your_jwt_secret'
  31.     },
  32.     async (jwt_payload, done) => {
  33.         try {
  34.             var user = await User.findById(jwt_payload.id)
  35.             if (user) {
  36.                 return done(null, user)
  37.             } else {
  38.                 return done(null, false)
  39.             }
  40.         } catch (err) {
  41.             return done(err, false)
  42.         }
  43.     }
  44. ))
  45.  
  46. module.exports = passport
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement