2015-12-16 2 views
2

Предыдущие посты - 1, 2CouchDB вход с AngularJS: Auth печенье отправлено на/_SESSION только

Что я сейчас: AngularJS приложение с двумя контроллерами. Сначала работает с документами CouchDB, а второй выполняет входные запросы на example.com/demo/_session.

Когда я открываю приложение, я не могу редактировать с помощью couchdb (в первом контроллере), потому что некоторые действия ограничены только зарегистрированными пользователями. Во втором контроллере я отправляю простой POST за $http, которые возвращают Http-only (так что нет волшебства для печенья) auth cookie AuthSession. Этот файл cookie связан с адресом couchdb, и теоретически любой запрос с страницы на адрес couchdb должен содержать этот файл cookie.

Но этого не происходит. Никто не звонит на couchdb, кроме звонков на /_session поставляется с AuthSession cookie. Например. example.com/demo/_session получение с AuthSession и example.com/demo/records нет.

request

got http cookie

no cookies for bad kids?

В процессе обучения Угловое и CouchDB я пришел в тупик.

Что я делаю неправильно? Я не хочу скрывать couchdb за чем-то с пользовательским auth - слишком сложным и не очень хорошим способом, я думаю.

UPD: заголовок Set-Cookie также не работает - он недоступен в HttpPromise.success(function (data, status, headers, config))headers. Я пытаюсь получить его как headers("Set-Cookie") - не повезло.

Возможно, что-то не так в конфигурации couchdb? У меня uploaded it to pastebin.

ответ

1
  1. Проверить CORS быть включен (* в моих причинах)
  2. Проверьте cors/credentials в конфигурации, это должно быть правдой
  3. Использование {withCredentials:true} в угловом $http

Теперь она работает.

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