Я пытаюсь понять, как использовать cookie-сессию вместе с паспортом. Вот что я понимаю до сих пор:
- при входе пользователя в систему - значение user_id добавляется в сеанс через шаг пользователя serializeUser
- cookie-session создает сеанс и cookie session.sig, содержащие идентификатор_пользователя, который затем передается клиенту
- клиент затем отправляет сеансовые куки при каждом вызове API
- passport считывает данные сеанса из файла cookie с помощью шага deserializeUser
Проблема, с которой я столкнулся, заключается в том, что дата истечения срока действия cookie не совпадает с этими двумя значениями (session и session.sig). Это означает, что для данного user_id сгенерированный сеанс и session.sig всегда будут одинаковыми - и вся эта информация передается клиенту.
Теперь, скажем, кто-то находит способ скопировать значения этих двух файлов cookie, теперь он может просто прикрепить эти значения к вызову API с любой расширенной фиктивной датой истечения срока действия. И он пройдет паспортную проверку! поскольку user_id действительно хэшируется в эти файлы cookie.
Не означает ли это, что после создания cookie-файла сеанса он всегда будет оставаться действительным даже после истечения срока действия самого cookie-файла?
Это ожидается? или я что-то упустил?