Я пытаюсь настроить систему входа пользователя с помощью Node.js (Express), Socket.io и Redux/ReactJS. Это подход, который я использую:
- Пользователь подключается через Socket.io, как только попадает в веб-приложение.
- Через socketio-auth пользователь должен пройти аутентификацию и передать свое имя пользователя и пароль на сервер.
- Затем, используя socket.io-express-session, как в этот пример, я установил файл cookie с именем пользователя и паролем пользователя, чтобы каждый раз, когда они возвращаются на веб-сайт, они могли быть повторно аутентифицирован через socketio-auth. (Я понимаю, что вместо этого я мог бы сохранить уникальный токен в файле cookie, будет ли это лучше?)
- На сервере после аутентификации я просто сохраняю их данные с их socketId в хранилище Redux для использования с каждым запросом Socket.io, пока длится сеанс.
Если все это будет сделано за SSL
, это безопасно? Какие изменения вы бы предложили? Я пытаюсь сделать его максимально простым, но при этом очень безопасным.