2015-01-07 4 views
1

Мой сервер/сервер вызывает удаленную службу REST apples, которая требует аутентификации. Этот поток выглядит следующим образом:Где хранить файлы cookie на стороне сервера в NodeJS?

  1. Звоните http://remote.service.com/api/login с использованием модуля ExpressJS $ http. Эта служба возвращает действительный файл cookie с успешной аутентификацией
  2. Позвоните по телефону http://remote.service.com/api/apples с использованием модуля ExpressJS $ http. и отправить печенье, извлеченный из шага 1

Поскольку сервер звонит apple службы много раз подряд, я хочу, чтобы избежать аутентификации каждый раз, и хотели бы совет о том, как сохранить печенье из шага 1, так что я могу повторно использовать это в следующий раз. Должен ли я использовать node-redis или, может быть, ExpressJS cookie-parser? Как я должен обработать срок действия cookie?

Редактировать: Cookie может быть сохранено в глобальной переменной. См. Комментарии ниже.

+1

Это делается в ответ на действие клиента? или это скорее скрипт обслуживания. Если это всего лишь сценарий обслуживания, вы можете просто сохранить cookie в переменной, а затем при последующих итерациях, если указанная переменная определена, не запрашивайте новый файл cookie. –

+0

Вызов удаленной службы может быть запущен пользователем либо запущен по расписанию. Значение cookie не должно храниться на сеансе пользователя. –

+0

И есть ли причина, по которой вы не можете просто запросить куки-файл при первом вызове и сохранить его в переменной и повторно использовать его до истечения срока его действия? –

ответ

1

Вам необходимо реализовать хранилище сеансов для сохранения токена сеанса. Хотя MongoDB сам может это сделать, Redis является одним из лучших вариантов. Если вы не используете хранилище сеансов, масштабирование в кластерной модели окажется в затруднительном положении, так как разные экземпляры сервера приложений не смогут идентифицировать пользователя, уполномоченного другим сервером.

 Смежные вопросы

  • Нет связанных вопросов^_^