【问题标题】:PouchDb to CouchDb replication with authentication header带有身份验证标头的 PouchDb 到 CouchDb 复制
【发布时间】:2017-01-28 08:04:55
【问题描述】:

我正在尝试使用以下代码通过 auth 标头针对 CouchDB 对用户进行身份验证:

 //Business Logic - do your stuff here.
                var db = getdatabaseInstanse(localDb);
                var handler = db
                    .replicate
                    .from(remoteDb, {
                        filter: function (doc) {
                            return angular.isUndefined(doc._deleted) || doc._deleted !== true;
                        }
                    });


                handler
                    .on('complete', function (info) {
                        resolved({ 'Instans': db, 'Info': info, 'PouchDb': localDb, 'CouchDb': remoteDb });
                    })
                    .on('error', function (err) {
                        if (err.status !== 500) {
                            //Ignore Couch database error 500 - since it's unknown!
                            rejected({ 'Instans': db, 'Error': err, 'PouchDb': localDb, 'CouchDb': remoteDb });
                        }
                    });

如何在上述示例中实现它。 TIA

【问题讨论】:

  • 您能否更好地说明您要解决的问题是什么?
  • 嗨,我正在尝试做这样的事情... var handler = db .replicate .from(remoteDb, { filter: function (doc) { return angular.isUndefined(doc._deleted) || doc._deleted !== true; }, header : {'authentication': 'Basic abcxyz'} });换句话说,我正在尝试在开始复制之前使用设置解析我的凭据!
  • ... 换句话说 - remoteDb 定义了用户名/密码,因此我需要某种授权才能开始复制。

标签: angularjs couchdb pouchdb


【解决方案1】:

您可以使用 auth.username 和 auth.password 选项,如 PouchDB documentation 中所述。这将为您提供具有正确身份验证的数据库:

var remoteDb = new PouchDB('http://path.to/remotedb', {auth: {username: 'user', password: 'pass'}});

顺便说一句,在您的情况下,一个更简单的过滤器功能就足够了:filter: function (doc) { return !doc._deleted; }

【讨论】:

    【解决方案2】:

    据我了解,您需要使用身份验证选项创建 remoteDb 实例。 或者将用户名和密码放在 url 中,例如 http://username:password@domainname

    【讨论】:

      猜你喜欢
      • 2015-07-13
      • 2015-12-16
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      相关资源
      最近更新 更多