Использование 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), но я довольно потерян на этом этапе.

Вопросы:

  1. Как использовать Google oauth2 без перенаправления URI? (Я знаю, что это можно сделать с помощью объекта GoogleVerifier в Java).

  2. Я использую неправильный модуль для единого входа Google в NodeJS? Подходит ли указанный выше модуль для единого входа в Google с использованием OAuth2? Это для Google OAuth2, но это SSO-способный?

Заранее благодарю за любую помощь

0 ответов

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