web-dev-qa-db-ja.com

Passport.jsのGoogle戦略は、Google +の終了とともに廃止されますか

NodejsアプリケーションでPassport.jsとpassport-google-oauth20を使用して、「Google戦略」で認証します。 Googleから「plus.people.get」をGoogle+ APIから使用しており、廃止されることを示すメールを受信しました。何か変更する必要がありますか?このAPI呼び出しを直接使用しませんが、Passportは使用しますか?

12
jtag

はい。現在、PassportのGoogle OAuth戦略では、ユーザーのプロファイル情報を取得するためにGoogle+ APIエンドポイントを使用しています。

https://console.developers.google.com/apis/dashboard でGoogleコンソールからGoogle+ API統合を無効にした場合、Googleでのサインインはアプリケーションに対して機能しません。 Googleから返されたエラーには次のメッセージが含まれています。

GooglePlusAPIError:アクセスが構成されていません。 Google+ APIは、以前にプロジェクトxxxxxxで使用されていないか、無効になっています。 https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=xxxxxx にアクセスして有効にしてから、再試行してください。このAPIを最近有効にした場合は、アクションがシステムに反映されるまで数分待ってから再試行してください。

Google+ APIを無効にしてアプリケーションを適切に動作させるには、次の戦略オプションを使用する必要があります。

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