Я новичок в паспорте и только что запустил пример входа в систему на своем локальном компьютере.
Когда я вхожу в систему как «bob», вызываются password.serializeUser и password.deserializeUser.
Это нормально, но почему password.deserializeUser вызывается два раза?
Как я могу кэшировать пользователя, чтобы мне не приходилось вытаскивать его из базы данных каждый раз, когда вызывается password.deserializeUser.
См. Проблему № 14 в паспорте и, в частности, этот комментарий для решения.
@jaredhanson serializeUser должен вызываться только один раз правильно, когда пользователь аутентифицирован ???
Когда я отлаживал несколько вызовов deserializeUser, я обнаружил, что моя проблема заключалась в том, что хром запрашивал файлы исходной карты, которых не было. Эти вызовы привели к 404 страницам, которые десериализовали пользователя.
для ссылок заголовка.
Эти запросы не отображались на вкладке сети Chrome, что еще больше сбивало с толку.
Следующие шаги отладки помогли мне обнаружить проблему:
https://github.com/jaredhanson/passport/issues/83#issuecomment -12340041
Самый полезный комментарий
См. Проблему № 14 в паспорте и, в частности, этот комментарий для решения.