web-dev-qa-db-fra.com

La stratégie Google dans Passport.js est-elle obsolète avec la fin de Google+

J'utilise Passport.js et passport-google-oauth20 dans mon application nodejs pour m'authentifier avec une "stratégie Google". Je viens de recevoir un e-mail de Google indiquant que j'utilise "plus.people.get" de l'API Google+ et qu'il sera obsolète. Dois-je changer quelque chose? Je n'utilise pas directement cet appel API, mais peut-être que Passport le fait?

12
jtag

Oui, la stratégie Google OAuth pour Passport utilise actuellement les points de terminaison de l'API Google+ pour récupérer les informations de profil de l'utilisateur.

Si vous désactivez l'intégration de l'API Google+ à partir de la console Google sur https://console.developers.google.com/apis/dashboard alors la connexion avec Google ne fonctionnera pas pour votre application. L'erreur reçue de Google contient ce message:

GooglePlusAPIError: accès non configuré. L'API Google+ n'a pas été utilisée dans le projet xxxxxx auparavant ou elle est désactivée. Activez-le en visitant https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=xxxxxx puis réessayez. Si vous avez activé cette API récemment, attendez quelques minutes que l'action se propage à nos systèmes et réessayez.

Pour que votre application fonctionne correctement en désactivant l'API Google+, vous devez utiliser cette option de stratégie:

userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo'
var GoogleStrategy = require('passport-google-oauth20').Strategy;

passport.use(new GoogleStrategy({
    clientID: GOOGLE_CLIENT_ID,
    clientSecret: GOOGLE_CLIENT_SECRET,
    callbackURL: "http://www.example.com/auth/google/callback",
    userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo'
  },
  function(accessToken, refreshToken, profile, cb) {
           ...
  }
));
21
Vassilis Barzokas