身份验证期间出现未知错误

时间:2015-08-18 10:21:58

标签: couchdb pouchdb

我正在使用PouchDB 4.0。要测试远程CouchDB服务器的凭据,我使用以下代码:

testCredentials: function(credentials, callback){
    var remoteDb = new PouchDB('http://X.X.X.X/dbName', {
        auth: {
            username: credentials.username,
            password: credentials.password
        }
    });

    remoteDb.info(function(err, info) {
        if (err) { 
            if(err.status == 401)
                callback("unauthorized");
            else {
                console.log(err); 
                callback("error");
            }
        } else {
            callback("success");
        }
    });
}

当我传递无效凭据(例如现有用户但密码无效)时,我看到CouchDB日志文件中返回401错误。但是,PouchDb始终返回以下500错误:

  

{"状态":500,
    "名称":" UNKNOWN_ERROR&#34 ;,
    " message":"数据库遇到未知错误",
    "错误":真}

使用pouchdb-authentication插件时会出现同样的问题。 此代码在以前版本的PouchDB中完美运行。

1 个答案:

答案 0 :(得分:0)

你能否在the Github issues page处提交有关重现步骤的错误?似乎是PouchDB中的一个新bug。此外,如果您可以从错误中打印出日志(可能是HTTP错误,请检查" Network"标签),那么这也会有所帮助。

"数据库遇到未知错误"是PouchDB在遇到错误时抛出的一般错误消息,它不知道如何处理,因此发布或截断其他错误将非常有用。 :)

另外,如果您使用的是pouchdb-authentication,那么在创建auth时,您通常不需要添加new PouchDB选项;该选项用于基于http的纯身份验证,而pouchdb-authentication使用cookie身份验证。