db-avatar-init
Version:
<div align="center"> <a href="https://github.com/Alex2018-avatar/db-viewer"> <img width="200" height="200" src="https://cdn2.vectorstock.com/i/1000x1000/78/46/blue-database-icon-circle-frame-white-background-v-vector-20757846.jpg"> </a> <br>
36 lines (33 loc) • 1.02 kB
JavaScript
const jwt = require('jsonwebtoken');
exports.isAuthenticated = (request, res, next) => {
const secret = process.env.SECRET_PASS_API || 'SAKLSJADsajkdh231jkdsfkjsd##asjdkhkhsjHSKJADHKJSAajsadkas'
const authToken = request.headers.authorization;
const QUERY_AUTHORIZACION_KEY = 'authorization';
const HEADER_AUTHORIZACION_KEY = 'Bearer';
if (!authToken) {
return res.status(403).send({
status: 403,
message: 'FORBIDDEN'
})
} else {
let parts = request.headers.authorization.split(' ');
if (parts.length === 2 && parts[0] === HEADER_AUTHORIZACION_KEY) {
jwt.verify(parts[1], secret, function(err, decoded) {
if (err) {
return res.status(401).send({
status: 401,
message: err.message || 'UNAUTHORIZED'
})
} else {
next()
}
})
} else {
return res.status(403).send({
status: 403,
message: 'FORBIDDEN'
})
}
}
}