Приложение с капюшоном на nodejitsu: добавлен%2f смешной запрос couchdb

Я развернул простое учебное приложение с капюшоном на nodejitsu (которое отлично работает на моем локальном сервере). Вот URL моего развернутого приложения:

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

Если я запрашиваю конечную точку /_users/org.couchdb.user%3Aadmin%2F из моего экземпляра nodejitsu couchdb напрямую, который не с {"error":"not_found","reason":"missing"}, Но если я уберу завершающий закодированный слеш, /_users/org.couchdb.user%3AadminЯ вернул пользователя, как и ожидалось.

Так что мне кажется концевая косая черта (%2f) портит аутентификацию с помощью couchdb, и я полагаю, что очень долгая задержка, с которой приложение выясняет, вошел ли пользователь в приложение, является результатом тайм-аута попытки доступа к базе данных без необходимых учетных данных. Но я не знаю, как остановить добавление завершающего закодированного слеша.

Правильно ли я диагностировал проблему, и в любом случае, как я могу решить эту проблему?

Спасибо!

1 ответ

Решение

Похоже, у вас есть пользовательский документ для пользователя CouchDB "admin" в вашей базе данных _users, который не должен существовать. Пользователи администратора CouchDB не имеют собственных документов в _users база данных. Ошибка Hoodie возникает из-за неправильного формата объекта _users и отсутствующей базы данных пользователей. Когда вы удаляете /_users/org.couchdb.user%3Aadmin%2F это должно работать как ожидалось.

Другие вопросы по тегам