Страница согласия пользователя Google

Я использую passport-google-oauth модуль в node.js для аутентификации пользователя в веб-приложении. Если учетная запись Google уже вошла в браузер и вы пытаетесь войти в веб-приложение через Google, passport-google-oauth автоматически перенаправляет в веб-приложение, как если бы оно уже было авторизовано, и без страницы согласия пользователя Google.

Как принудительно отображать страницу согласия пользователя Google каждый раз, когда пользователь входит в систему через Google. я добавил approval_prompt но это все еще не работает.

Пожалуйста, пролите немного света.

Обновления:

authController.js

passport.authenticate('google', { scope : ['profile', 'email'] },
            function (err, user) {
                req.logIn(user, function (err) {
                    if (err) 
                    {
                        console.log(err);
                        return res.view('site/index',{callouts:callouts.wrongAccess});
                    }


                    return res.redirect('/');
                });
            })(req, res);
     },

passport.js

passport.use(new GoogleStrategy({
        clientID        : configAuth.googleAuth.clientID,
        clientSecret    : configAuth.googleAuth.clientSecret,
        callbackURL     : configAuth.googleAuth.callbackURL,
        },
        function (token, refreshToken, profile, done) {
  process.nextTick(function() {
    var newUser = {};
    var name    = {};
    var email   = profile.emails[0].value;

    User.findOne({'email':email}, function (err, user) {
      if (err)
      {
        return done(err);
      }
      if (user) 
      {
        return done(null, user);
      } else 
      {
        User.create(newUser).done(function (err, created){
          console.log(created, 'done');
          if (err)
          {
            throw err;
          }
          return done(null, created);
        });
      }
    });
  });
}));

0 ответов

Другие вопросы по тегам