User authorization unsuccesfull

Viewed 13

I am succesfully creating a new user, but when i try to test user authorization i face an error. Here is my code

router.get('/auth/user', verifyToken, async(req, res) => {
    try {
        let foundUser = await User.findOne({ _id: req.decoded._id })
        
        if(foundUser) {
            res.json({
                success: true,
                user: foundUser
            })
        }
    } catch(err) {
            res.status(500).json({
                succes: false,
                message: err.message
            })
    }
})

And here is my token script:

const jwt = require('jsonwebtoken')

module.exports = function(req, res, next) {
    let token = req.headers['x-access-token'] || req.headers['authorization']
    let checkBearer = 'Bearer '
    
    if(token) {
        if(token.startsWith(checkBearer)) {
            token = token.slice(checkBearer.length, token.length)
        }
        jwt.verify(token, process.env.SECRET, (err, decoded) => {
            if(err) {
                res.json({
                    success: false,
                    message: 'Failed to authenticate'
                })
            } else {
                res.decoded = decoded
                next()
            }
        })
    } else {
        res.json({
            success: false,
            message: 'No token provided'
        })
    }
}

So i am creating a new user succesfully, but when i try to test this on postman 'localhost:8080/api/auth/user', with provided token, i get this error "message": "Cannot read properties of undefined (reading '_id')". Thank you for your time

0 Answers
Related