Как безопасно подключить uuid к сеансу или наоборот в Express JS с помощью Express-сеанса? - PullRequest
0 голосов
/ 24 октября 2019

В настоящее время я пытаюсь внедрить аутентификацию / авторизацию на моем небольшом веб-сайте с использованием expressjs. Я хочу использовать express-session и postgresql для хранения сессии и пользовательских данных. Я использую Argon2 для хеширования / проверки. Я знаю, как использовать и писать промежуточное программное обеспечение в expressjs, но я не уверен, как именно я мог бы безопасно привязать внутренний uid к моему сеансу и правильно отделить данные пользователя от данных сеанса.

Мой текущий план будетсделать следующее:

Когда пользователь регистрируется, я бы создал uid для внутреннего использования, который будет использоваться совместно с другими записями базы данных, такими как сообщения, местоположение, описание профиля и другие данные, не относящиеся к сеансу / входу в систему. Затем я создал бы сеанс для пользователя, а также привязал сеанс к пользователю, сохранив идентификатор пользователя в данных сеанса на сервере. Единственный файл cookie, который пользователь хранит, будет sessionID. Теперь пользователь отправляет мне sessionID, когда хочет получить доступ к ограниченному сайту, и я просматриваю данные Session, содержащие uid, через sessionID. Когда пользователь выходит из системы, я уничтожаю сеанс, а когда пользователь снова входит в систему, я создаю сеанс и привязываю к нему uid, который я буду искать через имя пользователя / адрес электронной почты.

Мой вопрос сейчас заключается в том, является ли это разумным и безопасным способом отделения пользовательских данных от данных сеанса / входа в систему. И если нет, как сделать это правильно. Я очень обеспокоен безопасностью, и я уже прочитал документацию по expressjs о 12 учебных пособиях и примерах экспресса. Все ресурсы, которые я нашел, реализовали только очень простую аутентификацию, и многие из них были абсолютно безумными, когда речь заходит о безопасности (например, хранение простых паролей на клиентском сайте и отправка их по http вместо https и т. Д.) Это мой первый вопрос оStackoverflow, пожалуйста, прости меня, если он не идеален. Заранее спасибо! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...