Является ли назначение req.user в промежуточном программном обеспечении Passport безопасным и оптимальным способом? - PullRequest
0 голосов
/ 14 января 2019

В документе для паспорта показаны примеры добавления пользовательского объекта к объекту запроса следующим образом:

app.post('/login',
    passport.authenticate('local'),
    function(req, res) {
      // If this function gets called, authentication was successful.
      // `req.user` contains the authenticated user.
      res.redirect('/users/' + req.user.username);
    });

Инженер из нашей группы недавно отметил, что хранение чего-либо в объекте запроса (например, req.user) - плохая идея. В частности, он сказал, потому что это может прийти откуда угодно.

Я думаю, что мы контролируем код, выполняемый на нашем экспресс-сервере, поэтому это не должно быть проблемой, и если поток - https, сквозной конец должен быть безопасным.

Я не эксперт по безопасности, но я обеспокоен.

Мой вопрос заключается в том, имеет ли смысл идея, что мы не должны сами ничего прикреплять к объекту req и рассчитывать на него? Это небезопасно, и это вообще плохая идея?

...