Я пытаюсь проверить аутентифицированную конечную точку в моем приложении. Мое приложение узла использует express, express сеанс, локальный паспорт, реакцию и следующий для аутентификации.
Я слишком много времени пытался решить эту проблему и не смог найти решение.
В основном мой тест хотел бы:
- отправить запрос на вход в систему и войти в систему
- отправить запрос на аутентифицированный маршрут
- получить соответствующий ответ
Моя проблема заключалась в том, что у меня не было постоянства между запросом на вход в систему и запросом на проверку подлинности маршрута.
Когда я отправлял запрос на вход в систему, паспорт сериализует пользователя и устанавливает req.user и req._passport.session для соответствующих значений.
При следующем запросе - аутентифицированном маршруте, мое промежуточное ПО ищет req.passport._session или req.user, но ни один из них не существует. Я бы получил 401 несанкционированный ответ.
Я разместил свое решение ниже, которое заняло у меня слишком много времени, чтобы выяснить.