Skip to content

Instantly share code, notes, and snippets.

@ArthurMbraga
Last active November 13, 2020 01:01
Show Gist options
  • Save ArthurMbraga/54af095017b265c16d6a3b3578817d5e to your computer and use it in GitHub Desktop.
Save ArthurMbraga/54af095017b265c16d6a3b3578817d5e to your computer and use it in GitHub Desktop.
Token JWT authentication middleware for NodeJs
const jwt = require('jsonwebtoken');
module.exports = {
async authenticateToken(request, response, next) {
const authHeader = request.headers['authorization']
const [scheme, token] = authHeader && authHeader.split(' ');
if (token === null) return response.status(401).json({ error: 'No token provided' });
if (!/^Bearer$/i.test(scheme))
return response.status(401).json({ error: 'Token badformatted' });
jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err) => {
if (err) return response.status(403).json({ error: 'Invalid authorization token' });
request.session = data;
next();
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment