Expressjs с Connect Basic Auth не будет устанавливать запрос пользователя - PullRequest
2 голосов
/ 20 марта 2012

Я использую экспресс и добавляю базовую аутентификацию через промежуточное ПО подключения. Я пытаюсь использовать асинхронную версию, и она утверждает, что свойство user будет установлено для объекта запроса при вызове с использованием асинхронной версии.

Если я вызываю правильный fn(err, obj); с объектом, тогда базовая аутентификация проходит и перемещается по моим маршрутам, но я хочу установить req.user, когда он добирается до моего маршрута.

Здесь - это документ для подключения при базовой аутентификации.

Не правильно ли я перезваниваю?

app.use(express.basicAuth(function(user, pass, fn){

    db.getUserByEmail(user, function(err, obj){

      if (err) sendError(500, req, 'error', err);
      else if (obj == null) fn(err, obj); 
      else if (obj.password == pass) fn(null, obj); 
      else fn(null, null); 

    });
  }));

Ответы [ 2 ]

1 голос
/ 01 июля 2012

В отличие от упомянутого в документации для connect , в express аутентифицированному пользователю будет присвоен req.remoteUser

0 голосов
/ 20 марта 2012

Я проверил код в документах, вы прикрепили, он уже настроил req.user, поэтому все должно работать нормально, если этот код точно такой же, как в документах:)

Кстатипочему бы не использовать что-то более дружелюбное и хорошо документированное, например, passportjs?

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