Javascript Couchdb使用用户ID和密码进行同步访问

Javascript Couchdb使用用户ID和密码进行同步访问,javascript,synchronization,couchdb,pouchdb,Javascript,Synchronization,Couchdb,Pouchdb,我有一个couchdb在虚拟linux机器上运行。此数据库已启用cors并进行了设置。我已经添加了一个管理员用户和 数据库的密码。我还将require\u valid\u user设置为true。 我正在尝试用下面的代码将网页中的PockDB与couchdb online同步。如果我把地址传过去 对于db(下面的1),我会看到一个对话框,询问用户和密码。同步在本例中起作用。 如果我试图在URL中传递用户名和密码(如下2所示),我会收到一个同步错误和消息 “getCheckpoint被拒绝,原因是

我有一个couchdb在虚拟linux机器上运行。此数据库已启用cors并进行了设置。我已经添加了一个管理员用户和 数据库的密码。我还将require\u valid\u user设置为true。 我正在尝试用下面的代码将网页中的PockDB与couchdb online同步。如果我把地址传过去 对于db(下面的1),我会看到一个对话框,询问用户和密码。同步在本例中起作用。 如果我试图在URL中传递用户名和密码(如下2所示),我会收到一个同步错误和消息 “getCheckpoint被拒绝,原因是”。 任何关于我做错了什么或我应该采取的其他方法的建议都将不胜感激

谢谢

另外,我可以使用用户和密码浏览到URL

var remoteCouch = "http://192.168.1.7:5984/mydb";  //1
//var remoteCouch = "http://userid:password@192.168.1.7:5984/mydb"; //2
sync();

function sync() {
  var opts = {live: true};
  db.sync(remoteCouch,opts,syncError);
}

我在尝试同步到cloudant.com上的couchDB时遇到了同样的问题。对我来说,解决方案是在远程服务器的URL中使用https://而不是http://。 URL的格式应为:

https://:@.cloudant.com/

因此,尽管我没有本地安装的DB来测试这一点,但我怀疑您的错误源于这样一个事实:当您提供凭据时,coach会将请求重定向到安全连接(场景1)。而在场景2中,不会发生重定向