Passport.js - различать аутентификацию по имени пользователя / паролю и токену сессии - PullRequest
0 голосов
/ 07 сентября 2018

Я мог бы упустить что-то очень простое здесь, но я застрял и был бы признателен указательным пальцем в правильном направлении.

Я использую Passport для аутентификации на своем веб-приложении. Я создал локальную стратегию, которая проверяет пароль. Если это правильно, пользователь получает токен сеанса в ответе.

Из того, что я понял - при следующем запросе будет использоваться токен сеанса и больше не будет отправляться имя пользователя и пароль. Я использую Почтальон для тестирования, поэтому я выбрал авторизацию на предъявителя и вставил ключ. Когда я отправляю следующий запрос, я получаю обратно 400 Bad Request. Мой маршрут выглядит так:

app.route('/categories/:categoryId')
    .put(passport.authenticate('local-login-moderator'), categories.update_category)

Я думал, что Passport будет искать заголовок auth, а не прямо отклонять мой запрос, потому что он не может найти параметр имени пользователя и пароля в запросе. Где я могу сказать Passport искать токен, если он недоступен, искать учетные данные, если их нет, отклонить запрос? Я не могу сделать это в обратном вызове LocalStrategy, потому что это никогда не вызывается.

Как я уже сказал - я мог бы упустить что-то очень простое здесь. Если вам нужна дополнительная информация, просто дайте мне знать! Спасибо.

...