2016-05-14 62 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)); 
}); 
相關問題