| 123456789101112131415161718192021222324252627282930313233343536 |
- const jwt = require('jsonwebtoken')
- const userModel = require('../model/user.model')
- const response = require('../utils/responseHandler')
- module.exports = (req, res, next) => {
- const authHeader = req.headers.authorization
- const token =
- (req.params.token && req.params.token.split(' ')[1]) ||
- (authHeader && authHeader.split(' ')[1]) ||
- req.cookies['sidali-cookie']
- if (!token)
- return response.error(res, {
- code: 401,
- message: 'Token tidak ada',
- })
- jwt.verify(token, process.env.SRU51, async (err, data) => {
- if (err) {
- return response.error(res, {
- code: 401,
- message: 'Unauthorized',
- })
- }
- try {
- req.user = await userModel.findById(data._id)
- next()
- } catch (error) {
- return response.error(res, {
- code: 401,
- message: 'Unauthorized',
- })
- }
- })
- }
|