У меня действительно большая проблема с безопасностью в моем веб-приложении.Я реализовал токен JWT, когда пользователь входит в мое приложение (API REST возвращает токен).
В моем токене jwt у меня есть только идентификатор пользователя.Проблема в том, что, когда я хотел бы войти в систему с идентификатором пользователя = 1,
, я могу видеть и выполнять остальные действия от всех других пользователей с тем же токеном.например:
Когда я загрузил userId = 1, я выполняю действие GET: / api / users / 1 и у меня есть информация о пользователе 1. Но я могу выполнять действие / api / users / 2, 3 и т. д..
Все с одним токеном.как его обезопасить?
const jwt = require('jsonwebtoken');
const env = require('../config/env.config.js');
module.exports = (req, res, next) => {
try {
const token = req.headers.authorization.split(' ')[1];
const decoded = jwt.verify(token, env.SECRET_KEY);
req.userData = decoded;
next();
} catch (error) {
return res.status(401).json({
message: 'Auth failed',
});
}
};