34 lines
855 B
JavaScript
34 lines
855 B
JavaScript
const jwt = require('jsonwebtoken')
|
|
const errorHandling = require('../assets/utils/errorHandling')
|
|
const { JWT_SECRET } = require('../assets/config/config')
|
|
|
|
module.exports = (req, _res, next) => {
|
|
const token = req.get('Authorization')
|
|
if (!token) {
|
|
return errorHandling(next, {
|
|
message: 'Vous devez être connecter pour effectuer cette opération.',
|
|
statusCode: 403
|
|
})
|
|
}
|
|
|
|
let decodedToken
|
|
try {
|
|
decodedToken = jwt.verify(token, JWT_SECRET)
|
|
} catch (error) {
|
|
return errorHandling(next, {
|
|
message: 'Vous devez être connecter pour effectuer cette opération.',
|
|
statusCode: 403
|
|
})
|
|
}
|
|
|
|
if (!decodedToken) {
|
|
return errorHandling(next, {
|
|
message: 'Vous devez être connecter pour effectuer cette opération.',
|
|
statusCode: 403
|
|
})
|
|
}
|
|
|
|
req.userId = decodedToken.userId
|
|
next()
|
|
}
|