Подписанные файлы cookie Express.js между двумя экземплярами

Кто-нибудь знает, можно ли подписывать и отменять один и тот же файл cookie из разных экземпляров node-express?

У меня запущен один экспресс-экземпляр, который отвечает за аутентификацию пользователя:

  1. Вход пользователя
  2. Пользователь получает подписанный файл cookie с учетными данными

И у меня есть еще один экземпляр express/socket.io, который должен использовать этот подписанный файл cookie и использовать эти учетные данные:

  1. После того, как пользователь получает подписанный файл cookie, выполняется подключение к сокету
  2. При рукопожатии я хочу отменить подпись этого файла cookie
  3. Информация об учетных данных пользователя

Возможно ли это с помощью express.cookieParser или любого другого модуля?


person Vytautas Butkus    schedule 20.03.2014    source источник


Ответы (1)


Вы должны иметь возможность использовать cookieParser с общим секретом.

(Я обычно рекомендую хранить учетные данные в сеансе на сервере, а не закодировать их в файле cookie. Это не только более безопасно, но и позволяет нескольким экземплярам совместно использовать одну и ту же информацию о сеансе. См. Что такое хорошее хранилище сеансов для одного -разместить рабочее приложение Node.js?)

person skieter    schedule 20.03.2014
comment
Я пытался использовать cookieParser с одним и тем же секретом на обоих концах, но по некоторым причинам он не может правильно его отменить. Я думаю, что он использует некоторые переменные экземпляра для подписи файла cookie вместе с секретом... Также мне пришла в голову еще одна идея - использовать JWT и работать с токенами.. - person Vytautas Butkus; 20.03.2014
comment
Я не могу найти какие-либо используемые переменные среды, только секрет. Какая версия коннекта у вас установлена? Используете ли вы тот же домен для файлов cookie и что они отправляются браузером? - person skieter; 21.03.2014