невозможно аутентифицировать пользователя на Cloudant CouchDb - PullRequest
0 голосов
/ 25 декабря 2018

Я использую COUCHDB на CLOUDANT,

Я могу делать db.allDocs в моей «тестовой» базе данных, пока я устанавливаю разрешение _reader для соединений без аутентификации внутри CLOUDANTCOUCHDB 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});
...