Я использую COUCHDB
на CLOUDANT
,
Я могу делать db.allDocs
в моей «тестовой» базе данных, пока я устанавливаю разрешение _reader для соединений без аутентификации внутри CLOUDANT
COUCHDB INTERFACE
.
Это мой код:
var remoteDatabase = "https://1c54473b-be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/test";
var db = new PouchDB(remoteDatabase, {skip_setup: true});
db.logIn('jose', 'password').then(function (batman) {
console.log("I'm jose .");
db.allDocs({include_docs: true});
});
Но пока я разрешаю JOSE только доступ к базе данных 'TEST', я получаю эту ошибку внутри консоли навигатора:
POST https://1c54473b-be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/_session // THIS IS OK, it auth well !
I'm josé.
GET https://1c54473b-be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/test/_all_docs?include_docs=true
[HTTP/2.0 401 Unauthorized 43ms]
Даже это не работает, прямо внутри навигатора:
https://jose:password@1c54473b -be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/test
Разрешения, установленные для моей «тестовой» базы данных cloudant:
Разрешения облачного couchdb для TEST Db
Это моя база данных _users:
база данных пользователей
Параметры пользователя José в Cloudant:
Параметры Хосе на cloudant, он играет роль читателя
Сообщение об ошибке консоли:
Firefoxговоря, что Хосе не имеетправа на чтение, хотя это не так
Обратите внимание, что auth в настоящее время работает с пользователем josé
Подчеркивание отсутствует в auth читателя, оно должнобыть _reader, но я не могу установить его внутри облачного _user db, он возвращает ошибку.
EDIT 1: Просто добавил пользователя jose в мою тестовую базу данных, и теперь он работаетвнутри навигатора это:
https://jose:password@1c54473b-be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/test/_all_docs
, но код pouchDb все еще не работает, ошибка 401!
РЕДАКТИРОВАТЬ 2: РАЗРЕШЕНО!
Я нашел решение, благодаря этой ссылке:
https://github.com/pouchdb-community/pouchdb-authentication/issues/204 что-то не так с функцией db.logIn.
Это мой новый рабочий код:
var remoteDatabase = "https://1c54473b-be6e-42d6-b914-d0ecae937981-bluemix.cloudant.com/test";
var db = new PouchDB(remoteDatabase, {skip_setup: true,"auth": {"username":"jose", "password": "password"}});
db.allDocs({include_docs: true});