Как правильно реализовать систему входа в систему с помощью router и express? - PullRequest
0 голосов
/ 22 мая 2019

Использование React, React Router и Express, (стек Мерна) с express-session Я пытаюсь сделать так, чтобы пользователь входил в систему.

Вот различные функции, которые, мне кажется, мне понадобятся.

  1. Вход в систему пользователя

    • Чтобы войти в систему, React должен будет отправить запрос на маршрут аутентификации в экспрессе,В случае успеха на маршруте аутентификации должен быть установлен express-session примерно так: req.session.user = user (пользователь имеет следующую информацию: {name, email})
  2. Проверкаесли пользователь вошел в систему

    • В файле app.js в useLayoutEffect() отправьте запрос на получение на экспресс-маршрут с именем /me, проверяя, вошел ли пользователь в систему.пользователь, а затем отправить ответ, используя: req.session.user.
  3. Заставить пользователя оставаться в системе

    • Файл app.js установит пользовательское состояние в useLayoutEffect(), начиная с шага 2.

Вопросы:

  1. Являются ли вышеуказанные шаги правильными, ия что-то упускаю?
  2. Что мешает хакеру вручную изменить состояние в app.js и установить состояние пользователя, тем самым получив доступ к аутентифицированному маршруту?
  3. Как я могу защититьМаршрут, который написан с использованием реакции маршрутизатора?Используя экспресс-маршрутизатор, я просто добавил бы промежуточное программное обеспечение для аутентификации, но в процессе реакции страница не отправляется на серверную сторону.
  4. На первом шаге вместо этого: req.session.user = user, я должен делать: req.session.jwt = jwt
...