Wednesday, 18 December 2019

node js jwt login exapmle

https://www.fullstacktutorials.com/interviews/top-10-express-js-interview-questions-answers-30.html

  1. router.post('/login, function(req, res) {
  2.   // find the user
  3.   User.findOne({
  4.     name: req.body.username
  5.   }, function(err, res) {
  6.     if (err) throw err;
  7.     if (!res) {
  8.       res.json({ success: false, message: Login failed.' });
  9.     } else if (res) {

  10.       // check if password matches
  11.       if (res.password != req.body.password) {
  12.         res.json({ success: false, message: Login  failed. Wrong password.' });
  13.       } else {
  14.         var token = jwt.sign(res, app.get('superSecret'), {
  15.           expiresInMinutes: 1600
  16.         });
  17.         // return the information including token as JSON
  18.         res.json({
  19.           success: true,
  20.           message: 'Valid token!',
  21.           token: token
  22.         });
  23.       }  
  24.    }  });
  25. });



  1. jwt = require("express-jwt");
  2. app.use(function(req, res, next) {
  3.   var token = req.body.token || req.query.token || req.headers['x-access-token'];
  4.   if (token) {
  5.     jwt.verify(token, app.get('superSecret'), function(err, decoded) {     
  6.       if (err) {
  7.         return res.json({ success: false, message: 'Invalid token.' });   
  8.       } else {
  9.         req.decoded = decoded;   
  10.         next();
  11.       }
  12.     });
  13.   } else {
  14.     return res.status(403).send({
  15.         success: false,
  16.         message: 'No token given.'
  17.     });   
  18.   }
  19. });

No comments:

Post a Comment