Я использую стратегию passport-google-oauth от Passport с приложением Express на основе Nodejs для обеспечения аутентификации.Это прекрасно работало, когда у меня была логика внутри файла маршрута следующим образом:
router.route('/auth/google')
.get(passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile']
});
);
Когда я переместил все в контроллер, чтобы сделать приложение более управляемым, оно перестало работать.В частности, не выдается никакой ошибки.Запрос GET успешно выполняется, и метод отладки выводит строку, но затем он просто загружается навсегда, и меня не перенаправляют на страницу Google, чтобы выбрать учетную запись для входа в систему.Любые идеи, что здесь происходит и что мне нужно изменить, чтобы это текло как хорошее вино?
// route file
router.route('/auth/google')
.get(backendController.googleAuthenticate);
// controller file
exports.googleAuthenticate = () => {
debug('attempting Google authentication');
passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile'],
failWithError: true
});
}