Страница согласия пользователя 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);
});
}
});
});
}));