Sunday, 14 May 2017

Can't get token when loged in

I am trying to use jsonwebtokens to do login, i already have a register and login working, but when i log in i want to retrive a token like in this tutorial, but everytime i try to login after i set the json token like this:

// search a user to login
  User.findOne({ where: { username: req.body.username} }) // searching a user with the same username and password sended in req.body
    .then(function (user) {
      if (user && user.validPassword(req.body.password)) {
        //return res.status(200).json({ message: "loged in!" }); // username and password match

        // create a token
        var token = jwt.sign(user, app.get('superSecret'), {
          expiresInMinutes: 1440 // expires in 24 hours
        });

        // return the information including token as JSON
        res.json({
          success: true,
          message: 'Enjoy your token!',
          token: token
        });
      }
      else{
        return res.status(401).json({ message: "Unauthorized" }); // if there is no user with specific fields send
      }
    }).catch(function (err) {
      return res.status(500).json({ message: "server issues when trying to login!" }); // server problems
    });
});

it send me a message with the server issues, the last catch, if i take the json token behaviour out all works good, what am i doing wrong here?



via Antonio Costa

No comments:

Post a Comment