nodejitsu上的连帽应用:添加%2f confounding couchdb请求

时间:2014-11-13 19:06:19

标签: couchdb nodejitsu hoodie

我在nodejitsu上部署了一个基本的教程连帽应用程序(在我的本地服务器上运行正常)。以下是我部署的应用的网址:

http://reggie.nodejitsu.com

在用户登录状态确认之后,应该在右上角出现一个注册按钮,它会在很长一段时间后出现。

查看nodejitsu上的日志文件,我看到了(个人详细信息编辑):

Streaming logging information

out Thu, 13 Nov 2014 18:51:25 GMT Starting Plugin: 'hoodie-plugin-users'
out Thu, 13 Nov 2014 18:51:25 GMT All plugins started.
err Thu, 13 Nov 2014 18:51:25 GMT { [Error: not_found
missing]

然后一会儿:

_header: 'GET /_users/org.couchdb.user%3Aadmin%2F HTTP/1.1\r\nHost: xxxxxxxxx.iriscouch.com\r\nAccept: application/json\r\nAuthorization: Basic YWRtaW46bm9uY3JpdGljYWw=\r\nConnection: keep-alive\r\n\r\n',

然后一会儿:

out Thu, 13 Nov 2014 18:51:25 GMT 
err Thu, 13 Nov 2014 18:51:25 GMT Error confirming user: Error: not_found
missing

如果我直接从我的nodejitsu couchdb实例请求端点/_users/org.couchdb.user%3Aadmin%2F,则失败并显示{"error":"not_found","reason":"missing"}。但是,如果我删除尾随编码的斜杠/_users/org.couchdb.user%3Aadmin,我会按预期返回用户。

所以在我看来,尾随编码的斜杠(%2f)正在弄乱使用couchdb的身份验证,然后我假设应用程序需要很长时间才能确定用户是否登录到应用程序是由于超时尝试访问没有所需凭据的数据库。但我不知道如何阻止添加尾随编码的斜杠。

我是否正确诊断了该问题,无论哪种方式,我该如何解决此问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

看起来您的_users数据库中有CouchDB用户“admin”的用户文档,该用户文档不应该存在。 CouchDB管理员用户在_users数据库中没有自己的文档。您获得的Hoodie错误是由于_users对象的格式错误和缺少的用户数据库。当您删除/_users/org.couchdb.user%3Aadmin%2F时,它应该按预期工作。

相关问题