Статус 403: SG Неправильный пользователь при использовании Couchbase

Я отправляю запрос POST для добавления документа на сервер Couchbase через сервер шлюза синхронизации. Я использую serviceconfig.json, аналогичный ссылка. Ключ server в "базах данных" содержит ссылку на мой сервер Couchbase (http: // localhost: 8091 ). При запуске запроса POST отображается ответ, показанный ниже. Кроме того, я добавил журналы ниже,

404 no such database "fineract-cn"
400 invalid database name "favicon.ico"

введите здесь описание изображения


person miPlodder    schedule 15.08.2019    source источник
comment
Поделитесь конфигурацией шлюза синхронизации. Перед этим (а) проверьте базу данных. в файле конфигурации шлюза синхронизации и убедитесь, что вы настроили правильную базу данных, и (б) убедитесь, что база данных шлюза синхронизации указывает на правильный сегмент на сервере couchbase.   -  person rajagp    schedule 15.08.2019
comment
Можете ли вы использовать serviceconfig.json (pastebin.com/G7BWpeBy). Да, я проверяю (а) и (б). Тем не менее, я отправляю вам некоторые подробности для перекрестной проверки. Имя моей базы данных Sync Gateway - fineract-cn. Мое имя Bucket на Couchbase - fineract-cn. Мои учетные данные RBAC admin и password, и я предоставил доступ.   -  person miPlodder    schedule 16.08.2019
comment
Когда я сохраняю базовый файл serviceconfig.json, я могу добавить его на сервер Sync Gateway Server. Но когда я передаю этот (pastebin.com/G7BWpeBy) файл, я не могу добавить в Sync Gateway также. Можете ли вы проверить и сообщить мне, если вам понадобится дополнительная информация?   -  person miPlodder    schedule 16.08.2019
comment
Вы используете файл конфигурации, который написан для конкретного приложения - пользователи, функция синхронизации зависят от этого варианта использования. Специальное изменение параметров - не лучший подход. Я предлагаю вам ознакомиться с основами функции синхронизации и следуйте этому простому руководству . Конфигурация SGW для типичных шаблонов использования доступна здесь   -  person rajagp    schedule 17.08.2019
comment
Теперь работает. Разве Sync Gateway не должен очищать весь документ, когда он добавляется на сервер Couchbase?   -  person miPlodder    schedule 18.08.2019
comment
Что вы имеете в виду под чистым документом?   -  person rajagp    schedule 19.08.2019
comment
Например, я добавляю документ из своего приложения для Android, которое добавляет документ на сервер шлюза синхронизации и перенаправляет его на сервер Couchbase. Под clean я имею в виду, не следует ли Sync Gateway очищать документ при его добавлении на сервер Couchbase?   -  person miPlodder    schedule 20.08.2019
comment
Более того, мое приложение для Android кэширует документы на мобильном устройстве. Например, если я перезапускаю сервер шлюза синхронизации, на сервере шлюза синхронизации нет документов. Теперь, когда я делаю еще один Document Push из своего мобильного приложения. Он добавляет предыдущий документ к серверу шлюза синхронизации. Как мне остановить это поведение на моем устройстве Android?   -  person miPlodder    schedule 20.08.2019
comment
Это кажется совершенно не связанным с исходной проблемой (которая, я считаю, решена). Я бы предложил открыть отдельный вопрос и отслеживать его там.   -  person rajagp    schedule 20.08.2019
comment
Хорошо, сделаю это   -  person miPlodder    schedule 22.08.2019
comment
Привет, @miPlodder: можешь ли ты принять (правильный) ответ ниже, чтобы другие могли его найти?   -  person G. Blake Meike    schedule 04.09.2019


Ответы (1)


Ответ указывает на то, что вы не публикуете документ с надлежащей аутентификацией пользователя. Сначала вам нужно создать сеанс с именем пользователя / паролем:

https://docs.couchbase.com/sync-gateway/2.1/rest-api.html#/session/post__db___session

запрос сеанса POST вернет файл cookie и идентификатор сеанса, в вашем _bulk_docs вам необходимо прикрепить файл cookie в свой запрос POST.

person Eunice‌ Huang    schedule 22.08.2019