Как перенаправить на ошибку с Everyauth / Node.js - PullRequest
0 голосов
/ 10 октября 2011

При попытке аутентификации с неверной комбинацией пользователь / пароль everyauth всегда выдает ошибку на каждом модуле. Js: 352

./node_modules/everyauth/lib/modules/everymodule.js:352
  throw err;
  ^
Error: Name or password is incorrect.
    at gen_err (./node_modules/nano/error.js:93:43)
    at Object.couch (./node_modules/nano/error.js:102:48)
    at Request.callback (./node_modules/nano/nano.js:147:26)
    at Request.<anonymous> (./node_modules/nano/node_modules/request/main.js:314:21)
    at Request.emit (events.js:64:17)
    at IncomingMessage.<anonymous> (./node_modules/nano/node_modules/request/main.js:295:19)
    at IncomingMessage.emit (events.js:81:20)
    at HTTPParser.onMessageComplete (http.js:133:23)
    at Socket.ondata (http.js:1231:22)
    at Socket._onReadable (net.js:677:27)

Это мой код аутентификации:

.authenticate( function (login, password) {
    var promise = this.Promise();
  var auth = nano.auth(login, password, function(error, document, headers) {
    if (error) {
        return promise.fail(error);
    } else if (document.userCtx.name === login && document.ok === true) {
      console.log(login);
      var user = nano.user(login, function(error, document, headers) {
        console.log(document);
        return promise.fulfill(document);
      });
    }
  });
  return promise;
})

Прекрасно работает с правильным пользователем / pass и пересылается в 'loginSuccessRedirect'.Но с выданной ошибкой сервер Node всегда зависает и падает, вместо перенаправления на 404 или 401.

1 Ответ

0 голосов
/ 10 октября 2011

return promise.fail(error); неверно.

API заявляет, что следует выполнить обещание с Array ошибками, чтобы

promise.fulfill([error])

работало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...