Advertisement
Danny_Berova

isAuthBlog

Mar 19th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const jwt = require('jsonwebtoken')
  2. const User = require('../models/User')
  3.  
  4. module.exports = (req, res, next) => {
  5.   if (!req.headers.authorization) {
  6.     return res.status(401).end()
  7.   }
  8.  
  9.   // get the last part from a authorization header string like "bearer token-value"
  10.   const token = req.headers.authorization.split(' ')[1]
  11.   // decode the token using a secret key-phrase
  12.   return jwt.verify(token.toString(), 'somesupersecret', (err, decoded) => {
  13.     if (err) {
  14.       return res.status(401).end()
  15.     }
  16.    
  17.     const userId = decoded.userId
  18.     User
  19.     .findOne({ _id: userId })
  20.     .then(user => {
  21.       if (!user) {
  22.         return res.status(401).end()
  23.       }
  24.      
  25.       req.user = user
  26.  
  27.         return next()
  28.       })
  29.   })
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement