node-express-mongodb-jwt-rest-api-skeleton
Version:
Node.js express.js MongoDB JWT REST API - This is a basic API REST skeleton written on JavaScript using async/await. Great for building a starter web API for your front-end (Android, iOS, Vue, react, angular, or anything that can consume an API)
22 lines (19 loc) • 615 B
JavaScript
const jwt = require('jsonwebtoken')
const { buildErrObject } = require('../../../middleware/utils')
const { decrypt } = require('../../../middleware/auth')
/**
* Gets user id from token
* @param {string} token - Encrypted and encoded token
*/
const getUserIdFromToken = (token = '') => {
return new Promise((resolve, reject) => {
// Decrypts, verifies and decode token
jwt.verify(decrypt(token), process.env.JWT_SECRET, (err, decoded) => {
if (err) {
reject(buildErrObject(409, 'BAD_TOKEN'))
}
resolve(decoded.data._id)
})
})
}
module.exports = { getUserIdFromToken }