我正在使用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中完美运行。
答案 0 :(得分:0)
你能否在the Github issues page处提交有关重现步骤的错误?似乎是PouchDB中的一个新bug。此外,如果您可以从错误中打印出日志(可能是HTTP错误,请检查" Network"标签),那么这也会有所帮助。
"数据库遇到未知错误"是PouchDB在遇到错误时抛出的一般错误消息,它不知道如何处理,因此发布或截断其他错误将非常有用。 :)
另外,如果您使用的是pouchdb-authentication
,那么在创建auth
时,您通常不需要添加new PouchDB
选项;该选项用于基于http的纯身份验证,而pouchdb-authentication
使用cookie身份验证。