如何使用Couchbase同步网关同时对多个数据库进行身份验证?
我正在开发一个移动应用程序,我使用pouchdb通过couchbase同步网关与couchbase服务器同步。我必须要同步的数据库:“messages”和“profiles”。
同步工作非常好,但我有一个问题:我只能同时对一个数据库进行身份验证,但不能同时对两个数据库进行身份验证:我正在使用here所述的自定义身份验证,这是通过调用“/ database1 / _session”端点。然后返回一个cookie,让我登录数据库1.如果我现在也要同步第二个数据库,我调用“/ database2 / _session”来覆盖第一个cookie,即我现在能够同步第二个数据库,但不再是第一个数据库了。
有没有办法为多个数据库启用身份验证?有没有办法创建全局用户,即仅对一个数据库无效的用户?或者还有另一种方法可以解决这个问题吗?
提前谢谢!
答案 0 :(得分:0)
在我的服务器应用程序中,我可以为所有数据库的用户设置一个令牌密码,我可以在登录时发送给应用程序。然后,应用程序可以使用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));
});