2016-05-14 57 views
0

如何使用Couchbase同步网关同时对多个数据库进行身份验证?对couchbase同步网关中的多个数据库进行身份验证

我正在开发一款移动应用程序,其中使用了通过couchbase同步网关与couchbase服务器进行同步的pouchdb。我必须要同步的数据库:“消息”和“配置文件”。

Sync工作得很好,但我遇到了一个问题:我只能同时对一个数据库进行身份验证,但不能同时对这两个数据库进行身份验证:我使用的是自定义身份验证here,通过调用“/database1/_session“端点。然后这会返回一个cookie来记录我的数据库1.如果我现在想同步第二个数据库,我会调用“/ database2/_session”来覆盖第一个cookie,即我现在可以同步第二个数据库,但不是第一个。

有没有办法为多个数据库启用身份验证?有没有办法创建全球用户,即只对一个数据库无效的用户?还是有另一种方法来解决这个问题?

预先感谢您!

回答

0

OK,尝试编写操作饼干等我找到了一个更容易的解决方案代理小时后:

在我的服务器应用程序,我可以为用户提供所有的数据库,设置一标记为密码,该密码我可以在登录时发送到应用程序。该应用程序可以使用http基本认证:

this.db.sync(this.cfg.couchbase + 'messages', { 
    live: true, 
    retry: true, 
    ajax: { 
     headers: { 
      'Authorization': 'Basic ' + btoa(this.userID + ':' + token) 
     } 
    } 
    }).on('change', this.changed.bind(this)) 
    .on('error', err => console.error(err)); 
});