Приложение с капюшоном на nodejitsu: добавлен%2f смешной запрос couchdb
Я развернул простое учебное приложение с капюшоном на nodejitsu (которое отлично работает на моем локальном сервере). Вот URL моего развернутого приложения:
Предполагается, что кнопка регистрации появляется в верхнем правом углу после подтверждения статуса входа пользователя, что происходит, но через очень и очень долгое время.
Глядя на файл журнала на 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
это должно работать как ожидалось.