Migracja z Logowania przez Google

W tym przewodniku omawiamy niezbędne zmiany i czynności niezbędne do przeniesienia bibliotek JavaScript z wcześniejszej biblioteki platformy logowania Google do nowszej biblioteki usług tożsamości Google na potrzeby uwierzytelniania.

Jeśli Twój klient do autoryzacji używa biblioteki klienta interfejsów API Google do obsługi JavaScriptu lub innych bibliotek, zapoznaj się z sekcją Migracja do usług tożsamości Google, aby dowiedzieć się więcej.

Uwierzytelnianie i autoryzacja

Uwierzytelnianie pozwala określić, kim jest użytkownik, i powszechnie nazywa się go rejestracją lub logowaniem. Autoryzacja to proces przyznawania i odrzucania dostępu do danych lub zasobów. Na przykład aplikacja prosi użytkownika o zgodę na dostęp do jego Dysku Google.

Podobnie jak w przypadku wcześniejszej biblioteki platformy logowania Google, nowa biblioteka Google Identity Services została zaprojektowana tak, aby obsługiwać procesy uwierzytelniania i autoryzacji.

Nowsza biblioteka rozdziela jednak te 2 procesy, aby ułatwić deweloperom integrowanie kont Google z aplikacją.

Jeśli Twój przypadek użycia dotyczy tylko uwierzytelniania, czytaj dalej tę stronę.

Jeśli Twój przypadek użycia obejmuje autoryzację, przeczytaj artykuły Jak działa autoryzacja użytkowników i Migracja do Google Identity Services, aby upewnić się, że Twoja aplikacja używa nowych, udoskonalonych interfejsów API.

Co się zmieniło?

Nowa biblioteka Google Identity Services zapewnia użytkownikom wiele usprawnień. Najważniejsze funkcje:

  • Łatwy proces logowania jednym dotknięciem i automatycznym logowaniem się z mniejszą liczbą etapów
  • odświeżony przycisk logowania z personalizacją użytkownika,
  • spójny wizerunek marki i jednolite zasady logowania się w sieci poprawiają zrozumienie i zaufanie.
  • szybko uzyskiwać dostęp do treści; użytkownicy mogą się rejestrować i logować bezpośrednio z dowolnego miejsca w witrynie bez konieczności wcześniejszego odwiedzania strony logowania lub logowania się na konto.

Deweloperzy skupiają się na zmniejszeniu złożoności, zwiększeniu bezpieczeństwa i jak najszybszej integracji. Oto niektóre z nich:

  • opcja dodawania danych,
  • oddzielenia uwierzytelniania logowania od autoryzacji i udostępniania danych użytkownika, złożoność integracji OAuth 2.0 nie jest już konieczna do logowania użytkowników w witrynie.
  • tryby wyskakujących okienek i przekierowań są nadal obsługiwane, ale infrastruktura Google OAuth 2.0 teraz przekierowuje do punktu końcowego logowania na serwerze backendu,
  • połączenie możliwości z poprzednich bibliotek Google Identity i bibliotek JavaScript interfejsu Google API w jedną nową bibliotekę
  • w odpowiedziach na żądania logowania możesz teraz zdecydować, czy użyć obiektu Promise, a funkcje pośrednie za pomocą funkcji stylu pobierającego zostały usunięte dla uproszczenia.

Przykład migracji logowania

Jeśli przechodzisz z dotychczasowego przycisku logowania przez Google i zależy Ci tylko na logowaniu użytkowników do witryny, najprostszą zmianą będzie przejście na nowy, spersonalizowany przycisk. Można to osiągnąć przez zamianę bibliotek JavaScript i zaktualizowanie bazy kodu tak, aby wykorzystywała nowy obiekt logowania.

Biblioteki i konfiguracja

Wcześniejsza biblioteka platformy logowania Google (apis.google.com/js/platform.js) i biblioteka klienta interfejsów API Google dla JavaScriptu: gapi.client nie są już wymagane do uwierzytelniania i autoryzacji użytkowników. Zastąpiliśmy je jedną nową biblioteką JavaScript Google Identity Services: accounts.google.com/gsi/client.

Trzy wcześniejsze moduły JavaScript: api, client i platform używane do logowania są ładowane z apis.google.com. Aby ułatwić sobie identyfikowanie miejsc, w których Twoja witryna może zawierać wcześniejszą bibliotekę, zwykle:

  • domyślny przycisk logowania wczytuje się apis.google.com/js/platform.js,
  • niestandardowa grafika przycisku wczytuje wartość apis.google.com/js/api:client.js, oraz
  • bezpośrednie wykorzystanie gapi.client wczytuje apis.google.com/js/api.js.

W większości przypadków możesz nadal korzystać z istniejących danych logowania identyfikatorów klienta aplikacji internetowych. W ramach migracji zalecamy zapoznanie się z zasadami protokołu OAuth 2.0 i skorzystanie z Konsoli interfejsów API Google, aby potwierdzić i w razie potrzeby zaktualizować te ustawienia klienta:

  • Twoje aplikacje testowe i produkcyjne używają osobnych projektów i mają własne identyfikatory klienta,
  • typ identyfikatora klienta OAuth 2.0 to „Aplikacja internetowa”;
  • HTTPS jest używany w przypadku autoryzowanych źródeł JavaScript i identyfikatorów URI przekierowania.

Znajdź kod, którego dotyczy problem, i przetestuj go

Plik cookie debugowania może pomóc w zlokalizowaniu kodu, w którym występuje problem, i przetestowaniu, co się stanie po jego wycofaniu.

W dużych lub złożonych aplikacjach znalezienie całego kodu, na który wpływa wycofanie modułu gapi.auth2, może być trudne. Aby rejestrować w konsoli dane o korzystaniu z funkcji, które wkrótce zostaną wycofane, ustaw w konsoli wartość pliku cookie G_AUTH2_MIGRATION na informational. Opcjonalnie dodaj dwukropek, a następnie parę klucz-wartość, aby zapisywać też dane w pamięci sesji. Po zalogowaniu się i otrzymaniu danych logowania przejrzyj lub wyślij zebrane logi do backendu, aby je przeanalizować. Na przykład informational:showauth2use zapisuje źródło i adres URL w kluczu pamięci sesji o nazwie showauth2use.

Aby weryfikować działanie aplikacji, gdy moduł gapi.auth2 nie jest już wczytywany, ustaw wartość pliku cookie G_AUTH2_MIGRATION na enforced. Umożliwia to testowanie działania po wycofaniu jeszcze przed datą wejścia w życie postanowień.

Możliwe wartości plików cookie G_AUTH2_MIGRATION:

  • enforced Nie wczytuj modułu gapi.auth2.
  • informational Rejestruje w konsoli JS użycie wycofanych funkcji. Loguj się też w pamięci sesji, gdy ustawiona jest opcjonalna nazwa klucza: informational:key-name.

Aby zminimalizować wpływ na użytkowników, zalecamy, aby najpierw ustawić ten plik cookie lokalnie w trakcie programowania i testowania, a dopiero potem wykorzystać go w środowiskach produkcyjnych.

HTML i JavaScript

W tym scenariuszu logowania tylko uwierzytelnianiem przedstawiamy przykładowy kod i renderowanie istniejącego przycisku Google Sign-In. Wybierz tryb Wyskakujące okienko lub Przekierowywanie, aby zobaczyć różnice w sposobie obsługi odpowiedzi uwierzytelniania przez wywołanie zwrotne JavaScript lub bezpieczne przekierowanie do punktu końcowego logowania na serwerze backendu.

Wcześniejszy sposób

Renderuj przycisk Logowanie przez Google i użyj wywołania zwrotnego do obsługi logowania bezpośrednio z przeglądarki użytkownika.

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
  </body>
</html>

Tryb przekierowania

Renderuj przycisk Google Sign-In kończący się wywołaniem AJAX z przeglądarki użytkownika do punktu końcowego logowania na serwerach backendu.

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
    <script>
      function handleCredentialResponse(googleUser) {
        ...
        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'https://yourbackend.example.com/tokensignin');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.onload = function() {
          console.log('Signed in as: ' + xhr.responseText);
        };
        xhr.send('idtoken=' + id_token);
      }
    </script>
  </body>
</html>

Wyrenderowano

Nowe atrybuty wizualne upraszczają wcześniejszą metodę tworzenia niestandardowego przycisku, eliminując wywołania metody gapi.signin2.render() oraz konieczność przechowywania obrazów i zasobów wizualnych w witrynie i ich utrzymywania.

Logowanie przez Google

Logowanie przez Google

Tekst przycisku aktualizacji stanu logowania użytkownika.

Nowy sposób

Aby użyć nowej biblioteki w przypadku logowania się wyłącznie za pomocą uwierzytelniania, wybierz tryb Wyskakujące okienko lub Przekierowywanie i użyj przykładowego kodu, aby zastąpić istniejącą implementację na stronie logowania.

Używaj wywołania zwrotnego, aby obsługiwać logowanie bezpośrednio z przeglądarki użytkownika.

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-callback="handleCredentialResponse">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

Tryb przekierowania

Google wywołuje punkt końcowy logowania określony za pomocą atrybutu data-login_url. Wcześniej odpowiadałeś za operację POST i nazwę parametru. Nowa biblioteka publikuje token identyfikatora w punkcie końcowym w parametrze credential. Na koniec zweryfikuj token identyfikatora na serwerze backendu.

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-ux_mode="redirect"
         data-login_uri="https://www.example.com/your_login_endpoint">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

Wyrenderowano

Za pomocą atrybutów graficznych możesz dostosować rozmiar, kształt i kolor przycisku Zaloguj się przez Google. Wyświetlaj wyskakujące okienko jednym dotknięciem ze spersonalizowanym przyciskiem, aby poprawić współczynnik logowania.

Przycisk Zaloguj się przez Google Wyskakujące okienko
Jedno dotknięcie

Stan zalogowania użytkownika nie zmienia tekstu na przycisku z „Zaloguj się” na „Zalogowano”. Po wyrażeniu zgody lub podczas ponownej wizyty spersonalizowany przycisk zawiera nazwę użytkownika, adres e-mail i zdjęcie profilowe.

W tym przykładzie związanym tylko z uwierzytelnianiem nowe biblioteki accounts.google.com/gsi/client, klasa g_id_signin i obiekt g_id_onload zastępują wcześniejszą bibliotekę apis.google.com/js/platform.js i obiekt g-signin2.

Oprócz renderowania nowego spersonalizowanego przycisku przykładowy kod wyświetla też nowe wyskakujące okienko One Tap. Zalecamy, aby wszędzie tam, gdzie wyświetlany jest spersonalizowany przycisk, był też wyświetlany wyskakujące okienko One Tap, co minimalizuje problemy z rejestracją i logowaniem.

Chociaż nie jest to zalecane ze względu na większe problemy z logowaniem, nowy spersonalizowany przycisk może wyświetlać się samodzielnie, bez jednoczesnego wyświetlania okna dialogowego jednym dotknięciem. Aby to zrobić, ustaw wartość atrybutu data-auto_prompt na false.

Interfejsy API HTML i JavaScript

Poprzedni przykład pokazuje, jak za pomocą nowego interfejsu HTML API dodać sposób logowania do witryny. Możesz też użyć odpowiednika funkcjonalnie interfejsu API JavaScript lub łączyć i dopasowywać interfejsy API HTML i JavaScript w swojej witrynie.

Aby interaktywnie wyświetlić opcje dostosowywania przycisków, takie jak typ wywołania zwrotnego i atrybuty takie jak kolor, rozmiar, kształt, tekst i motyw, przejdź do naszego generatora kodu. Za jego pomocą można szybko porównywać różne opcje i generować fragmenty kodu HTML do użycia w witrynie.

Logowanie się na dowolnej stronie za pomocą jednego dotknięcia

One Tap to nowy, łatwy sposób rejestracji i logowania się w Twojej witrynie. Umożliwia włączenie logowania bezpośrednio z dowolnej strony w witrynie i eliminuje konieczność korzystania przez użytkowników z specjalnej strony logowania. Inaczej mówiąc, usprawnia to rejestrowanie i logowanie się, ponieważ zapewnia użytkownikom elastyczność rejestracji i logowania się ze stron innych niż strona logowania.

Aby umożliwić logowanie z dowolnej strony, umieść tag g_id_onload we wspólnym nagłówku, stopce lub innym obiekcie w całej witrynie.

Zalecamy też dodanie panelu g_id_signin, który wyświetla przycisk spersonalizowanego logowania tylko na stronach logowania lub zarządzania kontem użytkownika. Daj użytkownikom możliwość rejestracji lub logowania, wyświetlając ten przycisk obok innych przycisków dostawców sfederowanych oraz pól do wpisania nazwy użytkownika i hasła.

Odpowiedź tokena

Aby zalogować się, użytkownik nie musi już znać ani korzystać z kodów autoryzacji OAuth 2.0, tokenów dostępu ani tokenów odświeżania. Zamiast tego do udostępniania stanu logowania i profilu użytkownika używany jest token identyfikatora tokena internetowego JSON (JWT). Aby jeszcze bardziej uprościć pracę, nie musisz już używać metod akcesora „pobierania” do pracy z danymi profilu użytkownika.

Dane uwierzytelniające tokena identyfikatora JWT podpisany przez Google są zwracane w jeden z tych sposobów:

  • do modułu obsługi wywołań zwrotnych JavaScript w przeglądarce użytkownika w trybie wyskakującego okienka,
  • do serwera backendu za pomocą przekierowania Google do punktu końcowego logowania, gdy przycisk Zaloguj się przez Google ux_mode jest ustawiony na redirect.

W obu przypadkach zaktualizuj istniejące moduły obsługi wywołań zwrotnych, usuwając:

  • połączenia z numerem googleUser.getBasicProfile(),
  • odwołania do BasicProfile oraz powiązane wywołania metod getId(), getName(), getGivenName(), getFamilyName(), getImageUrl(), getEmail() i
  • użycia obiektu AuthResponse.

Aby pracować z danymi profilu użytkownika, zamiast tego używaj bezpośrednich odwołań do pól podrzędnych credential w nowym obiekcie JWT CredentialResponse.

Dodatkowo w trybie przekierowania wyłącz możliwość fałszowania żądań z różnych witryn i sprawdź token identyfikatora Google na serwerze backendu.

Aby lepiej zrozumieć, w jaki sposób użytkownicy wchodzą w interakcje z Twoją witryną, możesz wykorzystać pole select_by w adresie CredentialResponse. W ten sposób można określić wynik zgody użytkownika i wybrany proces logowania.

Gdy użytkownik po raz pierwszy loguje się w Twojej witrynie, Google prosi go o zgodę na udostępnienie aplikacji profilu swojego konta. Po uzyskaniu tej zgody profil użytkownika jest udostępniany aplikacji w ładunku danych logowania tokena tożsamości. Anulowanie dostępu do tego profilu jest równoważne z unieważnieniem tokena dostępu w bibliotece wcześniejszego logowania.

Użytkownicy mogą anulować uprawnienia i odłączyć Twoją aplikację od swojego konta Google na stronie https://myaccount.google.com/permissions. Mogą też rozłączyć się bezpośrednio z aplikacją, aktywując wdrożone przez Ciebie wywołanie interfejsu API. Wcześniejsza metoda disconnect została zastąpiona nowszą metodą revoke.

Gdy użytkownik usunie swoje konto z Twojej platformy, najlepiej użyć revoke, aby odłączyć aplikację od jego konta Google.

Wcześniej auth2.signOut() mógł służyć do zarządzania wylogowywaniem się użytkownika z aplikacji. Gdy to zrobisz, powinno zostać usunięte auth2.signOut(), a aplikacja powinna zarządzać stanem logowania i sesji użytkownika bezpośrednio.

Stan sesji i detektory

Nowa biblioteka nie zachowuje stanu zalogowania ani stanu sesji w przypadku aplikacji internetowej.

Stan zalogowania się na konto Google, stan sesji i stan zalogowania w aplikacji to odrębne pojęcia.

Stan logowania się użytkownika na swoje konto Google i aplikacja są od siebie niezależne, chyba że w momencie logowania użytkownik jest zalogowany na swoje konto Google.

Jeśli w Twojej witrynie uwzględnione są funkcja Zaloguj się przez Google, logowanie jednym dotknięciem lub logowanie automatyczne, użytkownicy muszą najpierw zalogować się na swoje konto Google, aby:

  • wyrazić zgodę na udostępnienie profilu użytkownika przy pierwszej rejestracji lub zalogowaniu się w witrynie,
  • a później do logowania przy kolejnych wizytach w witrynie.

Użytkownicy mogą w dalszym ciągu być zalogowani, wylogować się lub przełączyć na inne konto Google w czasie aktywnej, zalogowanej sesji w Twojej witrynie.

Od teraz możesz bezpośrednio zarządzać stanem zalogowania użytkowników swojej aplikacji internetowej. Wcześniej funkcja Logowanie przez Google pomagała monitorować stan sesji użytkownika.

Usuń wszelkie odwołania do metody auth2.attachClickHandler() i jej zarejestrowanych modułów obsługi wywołań zwrotnych.

Wcześniej za pomocą funkcji Słuchacze można było udostępniać informacje o zmianach stanu zalogowania na koncie Google użytkownika. Detektory nie są już obsługiwane.

Usuń wszystkie odwołania do listen(), auth2.currentUser i auth2.isSignedIn.

Ciastka

Funkcja Zaloguj się przez Google korzysta z plików cookie w ograniczonym zakresie, które są opisane poniżej. Więcej informacji o innych rodzajach plików cookie używanych przez Google znajdziesz w artykule Jak Google korzysta z plików cookie.

Plik cookie G_ENABLED_IDPS ustawiony przez wcześniejszą bibliotekę platformy logowania Google nie jest już używany.

Nowa biblioteka usług tożsamości Google może opcjonalnie ustawiać takie międzydomenowe pliki cookie na podstawie opcji konfiguracji:

  • g_state przechowuje stan wylogowania użytkownika i jest ustawiana podczas korzystania z wyskakującego okienka do jednego dotknięcia lub logowania automatycznego.
  • g_csrf_token to plik cookie służący do podwójnego przesyłania używany do zapobiegania atakom CSRF. Jest ustawiany przy wywołaniu punktu końcowego logowania. Wartość identyfikatora URI logowania można ustawić bezpośrednio lub domyślnie jako identyfikator URI bieżącej strony. Punkt końcowy logowania może zostać wywołany w tych warunkach, gdy:

    • Interfejs API HTML z atrybutem data-ux_mode=redirect lub gdy jest ustawiony parametr data-login_uri lub

    • Interfejs API JavaScriptu z atrybutem ux_mode=redirect i gdzie google.accounts.id.prompt() nie jest używany do wyświetlania 1 dotknięcia ani logowania automatycznego.

Jeśli masz usługę, która zarządza plikami cookie, pamiętaj, aby dodać 2 nowe pliki cookie i usunąć ten wcześniejszy po zakończeniu migracji.

Jeśli zarządzasz wieloma domenami lub subdomenami, przeczytaj artykuł Wyświetlanie jednym kliknięciem między subdomenami, aby dowiedzieć się więcej o pracy z plikiem cookie g_state.

Dokumentacja migracji obiektów dotycząca logowania użytkowników

Stara wersja Nowi Uwagi
Biblioteki JavaScript
apis.google.com/js/platform.js accounts.google.com/gsi/client Zastąp stare nowym.
apis.google.com/js/api.js accounts.google.com/gsi/client Zastąp stare nowym.
Obiekt GoogleAuth i powiązane metody:
GoogleAuth.attachClickHandler() IdConfiguration.callback dla wywołania danych JS i HTML Zastąp stare nowym.
GoogleAuth.currentUser.get() CredentialResponse (Odpowiedź logowania) Nie trzeba już używać parametru CredentialResponse.
GoogleAuth.currentUser.listen() Usuń. Bieżący stan logowania użytkownika w Google jest niedostępny. Użytkownicy muszą być zalogowani w Google, aby uzyskać zgodę i momenty logowania. Pole select_by w obiekcie CredentialResponse może być używane do określenia wyniku zgody użytkownika oraz użytej metody logowania.
GoogleAuth.disconnect() google.accounts.id.revoke Zastąp stare nowym. Anulowanie może też nastąpić na stronie https://myaccount.google.com/permissions.
GoogleAuth.grantOfflineAccess() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
GoogleAuth.isSignedIn.get() Usuń. Bieżący stan logowania użytkownika w Google jest niedostępny. Użytkownicy muszą być zalogowani w Google, aby uzyskać zgodę i momenty logowania.
GoogleAuth.isSignedIn.listen() Usuń. Bieżący stan logowania użytkownika w Google jest niedostępny. Użytkownicy muszą być zalogowani w Google, aby uzyskać zgodę i momenty logowania.
GoogleAuth.signIn() Usuń. Wczytywanie kodu HTML DOM elementu g_id_signin lub wywołanie JS google.accounts.id.renderButton powoduje zalogowanie użytkownika na konto Google.
GoogleAuth.signOut() Usuń. Stan logowania użytkownika w Twojej aplikacji i konta Google są niezależne od siebie. Google nie zarządza stanem sesji w przypadku Twojej aplikacji.
GoogleAuth.then() Usuń. Usługa GoogleAuth została wycofana.
Obiekt GoogleUser i powiązane metody:
GoogleUser.disconnect() google.accounts.id.revoke Zastąp stare nowym. Anulowanie może też nastąpić na stronie https://myaccount.google.com/permissions.
GoogleUser.getAuthResponse()
GoogleUser.getBasicProfile() CredentialResponse (Odpowiedź logowania) Bezpośrednio używaj pól credential i pól podrzędnych zamiast BasicProfile.
GoogleUser.getGrantedScopes() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
GoogleUser.getHostedDomain() CredentialResponse (Odpowiedź logowania) Zamiast tego użyj bezpośrednio funkcji credential.hd.
GoogleUser.getId() CredentialResponse (Odpowiedź logowania) Zamiast tego użyj bezpośrednio funkcji credential.sub.
GoogleUser.grantOfflineAccess() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
GoogleUser.grant() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
GoogleUser.hasGrantedScopes() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
GoogleUser.isSignedIn() Usuń. Bieżący stan logowania użytkownika w Google jest niedostępny. Użytkownicy muszą być zalogowani w Google, aby uzyskać zgodę i momenty logowania.
GoogleUser.reloadAuthResponse() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
gapi.auth2 i powiązane metody:
Obiekt gapi.auth2.AuthorizeConfig Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
Obiekt gapi.auth2.AuthorizeResponse Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
Obiekt gapi.auth2.AuthResponse Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
gapi.auth2.authorized() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
gapi.auth2.ClientConfig() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
gapi.auth2.getAuthInstance() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
gapi.auth2.init() Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
Obiekt gapi.auth2.OfflineAccessOptions Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
Obiekt gapi.auth2.SignInOptions Usuń. Token tożsamości zastąpił tokeny i zakresy OAuth 2.0.
Obiekt gapi.signin2 i powiązane metody:
gapi.signin2.render() Usuń. Wczytywanie kodu HTML DOM elementu g_id_signin lub wywołanie JS google.accounts.id.renderButton powoduje zalogowanie użytkownika na konto Google.