all files / dist/routes/ login_authorize.js

100% Statements 25/25
92.86% Branches 13/14
100% Functions 4/4
100% Lines 24/24
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61                                                                         
'use strict';
 
var _express = require('express');
 
var _express2 = _interopRequireDefault(_express);
 
var _jsonwebtoken = require('jsonwebtoken');
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 
var router = _express2.default.Router();
 
/**
 * This function returns a signed JWT token based on the given username and Password
 * @name Login
 * @param {object} req body contains username and password
 * @param {object} res contains the output json with token
 * @param {function} next
 * @return {json} signed JWT token, {token: JWT_TOKEN}
 */
 
router.post('/login', function (req, res, next) {
  if (typeof req.body.username !== 'undefined' && typeof req.body.password !== 'undefined') {
    var token = (0, _jsonwebtoken.sign)({ 'username': req.body.username, 'password': req.body.password }, 'anil');
    res.status(200);
    res.json({ token: token });
  } else {
    res.status(400);
    res.json({ message: 'missing username or password' });
  }
});
 
/**
 * Token Verification
 * @name verify Token
 * @param {object} req contains headers
 * @param {object} res contains the decoded username and password
 * @param {function} next
 */
//
router.post('/authorize', function (req, res, next) {
  if (req.headers && req.headers.authorization) {
    var token = req.headers.authorization;
    (0, _jsonwebtoken.verify)(token, 'anil', function (err, decoded) {
      if (err) {
        res.status(400);
        res.json({ 'message': 'Invalid signature' });
      } else {
        res.status(200);
        res.json({ 'username': decoded.username, 'password': decoded.password });
      }
    });
  } else {
    res.status(400);
    res.json({ 'message': 'Headers not found' });
  }
  // console.log(req.headers);
  // console.log(req.headers.authorization);
});
 
module.exports = router;