it-swarm.com.ru

Миграция входа в Google auth2 (всплывающее окно браузера) из Google+ API

В нашем приложении у нас есть простой поток входа в Google, где открывается всплывающее окно, пользователи входят в систему и предоставляют нам право автономного доступа к Google Analytics. 

Мы только что получили по электронной почте сообщение о том, что мы используем API-интерфейс Google+ (метод plus.people.getOpenIdConnect), который скоро станет устаревшим, но мы не используем его в нашем коде.

Я не могу понять, где мы используем Google+ API, чтобы я мог заменить его. 

Вот наш простой код:

  prepareGoogleClient() {
    $.ajax({
      url: "//apis.google.com/js/client:platform.js",
      dataType: "script"
    }).done(() => {
      gapi.load("auth2", () => {
        let auth = gapi.auth2.init({
          client_id: ENV.googleClientId,
          scope:
            "https://www.googleapis.com/auth/analytics.readonly https://www.googleapis.com/auth/webmasters.readonly"
        });

        this.auth = auth;
      });

      if (gapi.auth2 && !this.auth) {
        this.auth = gapi.auth2.getAuthInstance();
      }
    });
  }

Позже мы вызываем this.auth.grantOfflineAccess(params), который возвращает токен, который мы сохраним для дальнейшего использования.

Если я отключаю Google+ API на нашей панели инструментов Google Platform, вход перестает работать, и всплывающее окно отвечает с ошибкой входа. Я также смог подтвердить, что Google+ API (из его панели метрик) действительно используется в процессе входа наших пользователей во всплывающее окно и предоставления разрешений на область действия.

Как мне переписать это, чтобы он не использовал устаревший метод plus.people.getOpenIdConnect?

3
Matic Jurglič

Проблема заключалась в бэкэнд-коде Rails, который обрабатывает OAuth2. Устаревший камень omniauth-google-oauth2 использовал устаревшую конечную точку Google+.

1
Matic Jurglič