Skip to content

Commit

Permalink
Add async JWT verify in auth.service.js
Browse files Browse the repository at this point in the history
  • Loading branch information
MarkKhramko committed Jan 7, 2021
1 parent adb0e4b commit 9fbc680
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
24 changes: 14 additions & 10 deletions app/controllers/api/UsersController.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,20 @@ const UsersController = () => {
}
};

const validate = (req, res) => {
const { token } = req.body;
const validate = async (req, res) => {
try{
const { token } = req.body;

authService
.verify(token, (err) => {
if (err) {
return res.status(401).json({ isValid: false, err: 'Invalid Token!' });
}
return res.status(200).json({ isValid: true });
});
// Compare token with local seed
await authService.verify(token);

// Everything's fine, send response
return res.status(200).json({ isValid: true, msg: "Valid Token" });
}
catch(error){
// In any error case, we send token not valid
return res.status(401).json({ isValid: false, err: 'Invalid Token!' });
}
};

const getAll = async (req, res) => {
Expand All @@ -94,7 +98,7 @@ const UsersController = () => {
register,
login,
validate,
getAll,
getAll
};
};

Expand Down
9 changes: 8 additions & 1 deletion app/services/auth.service.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,12 @@ const { secret, expiresIn } = Config;

module.exports = {
issue: (payload) => jwt.sign(payload, secret, { expiresIn }),
verify: (token, cb) => jwt.verify(token, secret, {}, cb),
verify: async (token) => {
jwt.verify(token, secret, {}, (err, parsedToken)=>{
if (!!err)
return Promise.reject(err);

return Promise.resolve(parsedToken);
});
}
};

0 comments on commit 9fbc680

Please sign in to comment.