https://www.fullstacktutorials.com/interviews/top-10-express-js-interview-questions-answers-30.html
- router.post('/login, function(req, res) {
- // find the user
- User.findOne({
- name: req.body.username
- }, function(err, res) {
- if (err) throw err;
- if (!res) {
- res.json({ success: false, message: Login failed.' });
- } else if (res) {
- // check if password matches
- if (res.password != req.body.password) {
- res.json({ success: false, message: Login failed. Wrong password.' });
- } else {
- var token = jwt.sign(res, app.get('superSecret'), {
- expiresInMinutes: 1600
- });
- // return the information including token as JSON
- res.json({
- success: true,
- message: 'Valid token!',
- token: token
- });
- }
- } });
- });
- jwt = require("express-jwt");
- app.use(function(req, res, next) {
- var token = req.body.token || req.query.token || req.headers['x-access-token'];
- if (token) {
- jwt.verify(token, app.get('superSecret'), function(err, decoded) {
- if (err) {
- return res.json({ success: false, message: 'Invalid token.' });
- } else {
- req.decoded = decoded;
- next();
- }
- });
- } else {
- return res.status(403).send({
- success: false,
- message: 'No token given.'
- });
- }
- });
No comments:
Post a Comment