Использование nodejs passport-google-oauth2 без URI перенаправления
Я использую модуль nodejs npm https://github.com/mstade/passport-google-oauth2
В настоящее время я использую его именно так, как показывает его пример, с URI перенаправления, с которым Google oauth будет перезванивать после успешной аутентификации:
Пример:
Сторона сервера:
var GoogleStrategy = require( 'passport-google-oauth2' ).Strategy;
passport.use(new GoogleStrategy({
clientID: GOOGLE_CLIENT_ID,
clientSecret: GOOGLE_CLIENT_SECRET,
callbackURL: "http://yourdormain:3000/auth/google/callback",
passReqToCallback : true
},
function(request, accessToken, refreshToken, profile, done) {
User.findOrCreate({ googleId: profile.id }, function (err, user) {
return done(err, user);
});
}
));
Сторона клиента:
app.get('/auth/google',
passport.authenticate('google', { scope:
[ 'https://www.googleapis.com/auth/plus.login',
'https://www.googleapis.com/auth/plus.profile.emails.read' ] }
));
app.get( '/auth/google/callback',
passport.authenticate( 'google', {
successRedirect: '/auth/google/success',
failureRedirect: '/auth/google/failure'
}));
Я знаю, что есть способ использовать Google OAuth без перенаправления; он просто как-то остается на той же странице (Google SSO). Я думаю, что вы можете сделать это только с GoogleVerifier
вместо того, чтобы строить new GoogleAuthorizationCodeTokenRequest()
(Примеры на Java), но я довольно потерян на этом этапе.
Вопросы:
Как использовать Google oauth2 без перенаправления URI? (Я знаю, что это можно сделать с помощью объекта GoogleVerifier в Java).
Я использую неправильный модуль для единого входа Google в NodeJS? Подходит ли указанный выше модуль для единого входа в Google с использованием OAuth2? Это для Google OAuth2, но это SSO-способный?
Заранее благодарю за любую помощь