Перемещение паспорта методом стратегии аутентификации Google с маршрута на разрывы контроллера - PullRequest
1 голос
/ 07 мая 2019

Я использую стратегию 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
    });
}
...