2014-10-09 2 views
1

У меня возникла проблема с текущей настройкой моей. Я использую Hapi.js и CouchDB. Я пытаюсь использовать аутентификацию cookie CouchDB.Hapi.js, CouchDB и проблема с маркером AuthSession

Я получаю токен AuthSession от CouchDB, запрашивая/_session с именем пользователя и паролем. Так хорошо.

Проблема в том, что я не знаю, что делать с токеном AuthSession. Где его хранить? Я читал, что я мог бы хранить его в Редисе, например. Но тогда как? В каком формате?

Предположим, что я сохраняю идентификатор пользователя и токен AuthSession в Redis. Предположим, что одновременно зарегистрировано 5 пользователей, поэтому в Redis есть 5 жетонов. Как узнать, какой токен получить от Redis для каждого запроса, сделанного пользователями?

ответ

0

Способ аутентификации печенье работает в CouchDB, как это:

  1. POST в /_session с учетными данными, которые соответствуют пользователям в /_users дб.
  2. Ответ содержит инструкцию для браузера, чтобы установить файл cookie AuthSession.
  3. С этого момента все дальнейшие запросы (включая ajax) в этот домен производятся с помощью файла cookie.

Если вы необходимости хранить AuthSession печенье где-то между браузером и CouchDB, возможно, было бы легче все-таки позволить браузеру установить печенье, а затем просто передать его в CouchDB, когда приходит запрос.

+0

Hmm .. Пользователь отправляет регистрационную форму с учетными данными, а затем сторона сервера (Hapi) обрабатывает запрос/_session в базе данных (CouchDB). Таким образом, ответ предоставляется серверу, а не клиенту. Но как фактически передать cookie клиенту и от клиента к базе данных? – dps

+0

Я мало знаю о hapi.js. Прости. Быстрый поиск открывает этот урок о получении и настройке файлов cookie между браузером и приложением hapi.js. http://hapijs.com/tutorials/cookies. Получение и настройка файлов cookie между hapi.js и couch зависит от того, что вы используете для создания этих сетевых запросов в своем приложении hapi. – fet

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