Google用户同意页面

时间:2014-06-23 08:54:06

标签: google-oauth

我在 node.js 中使用passport-google-oauth模块在​​网络应用中进行用户身份验证。当Google帐户已经在浏览器中登录并且您尝试通过Google登录到该网络应用时,passport-google-oauth会自动重定向到网络应用,就像它已经被授权并且没有谷歌用户同意页面一样。

每次用户通过谷歌登录时,如何强制显示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 个答案:

没有答案