Как проверить, авторизован ли пользователь для навигации по Vue маршрутам? - PullRequest
0 голосов
/ 12 марта 2020

Я создаю одностраничное приложение, используя Vue front-end, Express и Parse (parse-platform) для back-end. Всякий раз, когда я аутентифицирую пользователя, я помещаю информацию о пользователе в переменную сеанса req.session.user = result;, а затем отправляю ее обратно клиенту res.status(200).send(req.session);. Всякий раз, когда пользователь выполняет маршрутизацию через приложение, как безопасно проверять правильность аутентификации? Чего я боюсь, так это того, что session id, который помещается в куки клиента, может быть подделан, и пользователь будет считаться аутентифицированным. Я полагаю, что мог бы отправить запрос своему бэкэнду, чтобы проверить, действительна ли аутентификация каждый раз, когда пользователь вводит маршрут, но я считаю, что это не очень хорошая идея, поскольку маршрутизация в приложениях vue очень быстрая, и если сотни пользователей быстро перемещаются может вызвать проблемы. Что еще я мог сделать? Или я делаю это / думаю об этом правильно?

Я использую express-session для хранения сеанса клиента в его файлах cookie.

app.use(session({
secret: 'secret_key',
resave: false,
saveUninitialized: true,
cookie: {} }));

Вот как я вхожу в систему:

 Parse.User.logIn(username, password).then(result => {
     req.session.user = result;
     res.status(200).send(req.session);
 });
...