Как сохранить информацию об идентификаторе пользователя, используя Everyauth и Nodejs

Everyauth.everymodule.findUserById вызывается с параметром id, который EveryAuth получает из req.session. Затем его можно использовать для загрузки информации о пользователе, которая передается в req.user

На локальном хосте при перезапуске сервера узла app.js сеанс очищается.

То, что я хотел бы сделать, это установить cookie, который содержит идентификатор пользователя, который я могу затем передать каждому пользователю, чтобы при перезапуске сервера он знал идентификатор, и ImoMudule.findUserBy Id мог делать свое дело.

Я использую expressjs и обнаружил, что и connect-mongodb, и cookie-сессии не работают. Итак, каков будет предложенный способ приблизиться к этому?

Другими словами, есть ли способ предварительного заполнения каждого пользователя информацией о пользователе?

1 ответ

Я думаю, вам нужно настроить постоянное хранилище сеансов за пределами expressjs. Поскольку сеансы по умолчанию в expressjs хранятся в памяти, они теряются при перезапуске сервера. Я закончил тем, что пошел с connect-redis над connect-mongo, хотя я использую MongoDb для моей базы данных. Я хотел, чтобы данные сеанса хранились отдельно от базы данных. Я не уверен, если это было необходимо, но это было очень просто настроить.

Кроме того, пока мы обсуждаем эту тему, вот несколько других препятствий, с которыми я столкнулся во время сессий:

  • Убедитесь, что время сервера установлено правильно, иначе сеансы могут истечь преждевременно.
  • Одна вещь, которая поймала меня во время разработки, была результатом того факта, что сеанс снят по отпечатку пальца строкой пользовательского агента, предоставленной браузером. Я обнаружил, что у меня включен плагин для Firefox ( FirePHP, расширение Firebug), который изменял строку моего User Agent после первого запроса. Это приводило к тому, что сессии действовали так, как будто они действительны только до закрытия браузера. Мне понадобилось несколько дней, чтобы отследить это.

Надеюсь это поможет.

Другие вопросы по тегам