Ten przewodnik pomoże Ci zrozumieć niezbędne zmiany i czynności, które należy wykonać, aby przenieść biblioteki JavaScript z wcześniejszej biblioteki platformy Google Sign-In do nowszej biblioteki Google Identity Services w celu uwierzytelniania.
Jeśli Twój klient korzysta z biblioteki klienta interfejsu API Google dla JavaScriptu lub innej wcześniejszej biblioteki do autoryzacji, zapoznaj się z artykułem Przejście na usługi Google Identity.
Uwierzytelnianie i autoryzacja
Uwierzytelnianie służy do ustalania tożsamości użytkownika i jest powszechnie nazywane rejestracją lub logowaniem. Autoryzacja to proces przyznawania lub odmowy przyznania 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 wcześniejsza biblioteka Google Sign-In Platform nowa biblioteka Google Identity Services została stworzona do obsługi procesów uwierzytelniania i autoryzacji.
Nowsza biblioteka oddziela jednak te 2 procesy, aby ułatwić deweloperom integrację kont Google z aplikacją.
Jeśli Twój przypadek użycia dotyczy tylko uwierzytelniania, czytaj dalej.
Jeśli Twój przypadek użycia obejmuje autoryzację, zapoznaj się z artykułami Jak działa autoryzacja użytkownika i Przejście na usługi tożsamości Google, aby upewnić się, że Twoja aplikacja korzysta z nowych, ulepszonych interfejsów API.
Co się zmieniło
Nowa biblioteka Google Identity Services oferuje użytkownikom wiele ulepszeń w zakresie użyteczności. Najważniejsze informacje:
- nowe procesy logowania automatycznego i jednym dotknięciem o mniejszej liczbie kroków,
- odświeżony przycisk logowania z personalizacją użytkownika,
- spójny wizerunek marki i jednolite zasady logowania w internecie, które zwiększają zaufanie użytkowników i ułatwiają im korzystanie z usług;
- szybki dostęp do treści; użytkownicy mogą rejestrować się i logować w dowolnym miejscu w witrynie bez konieczności otwierania strony logowania lub konta.
W przypadku deweloperów skupiliśmy się na zmniejszeniu złożoności, poprawie bezpieczeństwa i jak najszybszym przeprowadzeniu integracji. Oto niektóre z nich:
- opcja dodawania logowania użytkownika do treści statycznych witryny za pomocą samego kodu HTML,
- rozdzielenie uwierzytelniania podczas logowania od autoryzacji i udostępniania danych użytkownika, dzięki czemu złożoność integracji OAuth 2.0 nie jest już potrzebna do logowania użytkowników na stronie,
- Nadal obsługiwane są oba tryby: wyskakujące okienko i przekierowanie, ale infrastruktura OAuth 2.0 Google przekierowuje teraz do punktu logowania serwera zaplecza.
- konsolidacja funkcji z wcześniejszych bibliotek JavaScript Google Identity i Google API w jednej nowej bibliotece,
- W przypadku odpowiedzi dotyczących logowania możesz teraz zdecydować, czy chcesz użyć obietnicy, a użycie funkcji pośredniczących w stylu gettera zostało usunięte ze względu na prostotę.
Przykład migracji logowania
Jeśli przechodzisz z obecnego przycisku Logowanie przez Google i interesuje Cię tylko logowanie użytkowników w witrynie, najprostszą zmianą będzie przejście na nowy spersonalizowany przycisk. Aby to zrobić, wymień biblioteki JavaScript i zaktualizuj kod źródłowy, aby używać nowego obiektu logowania.
Biblioteki i konfiguracja
Wcześniejsza biblioteka platformy Google Sign-In: apis.google.com/js/platform.js
oraz biblioteka klienta interfejsów Google API dla JavaScriptu: gapi.client
nie są już wymagane do uwierzytelniania i autoryzowania użytkowników. Zostały one zastąpione przez jedną nową bibliotekę JavaScriptu Google Identity Services:
accounts.google.com/gsi/client
.
Trzy wcześniejsze moduły JavaScript: api
, client
i platform
używane do logowania są wczytywane z apis.google.com
. Aby ułatwić Ci identyfikowanie miejsc, w których starsza biblioteka może być uwzględniona w Twojej witrynie, zwykle:
- wczytuje się domyślny przycisk logowania
apis.google.com/js/platform.js
, - wczytuje się grafika niestandardowego przycisku
apis.google.com/js/api:client.js
, - bezpośrednie wykorzystanie
gapi.client
ładujeapis.google.com/js/api.js
.
W większości przypadków możesz nadal używać dotychczasowych danych logowania do identyfikatora klienta aplikacji internetowej. W ramach migracji zalecamy zapoznanie się z zasadami OAuth 2.0 i użycie Konsoli interfejsów API Google, aby potwierdzić i w razie potrzeby zaktualizować te ustawienia klienta:
- aplikacje testowe i produkcyjne korzystają z oddzielnych projektów i mają własne identyfikatory klienta;
- typ identyfikatora klienta OAuth 2.0 to „Aplikacja internetowa”,
- Protokół HTTPS jest używany do autoryzowanych źródeł JavaScript i identyfikatorów URI przekierowania.
Identyfikowanie kodu i testowanie
Cookie debugowania może pomóc w znalezieniu kodu, którego dotyczy wycofanie, oraz przetestowaniu jego działania po wycofaniu.
W przypadku dużych lub złożonych aplikacji znalezienie całego kodu, na który ma wpływ wycofanie modułu gapi.auth2
, może być trudne. Aby w konsoli rejestrować korzystanie z funkcji, które wkrótce zostaną wycofane, ustaw wartość pliku cookie G_AUTH2_MIGRATION
na informational
. Opcjonalnie możesz dodać dwukropek i wartość klucza, aby prowadzić też logowanie w magazynie sesji. Po zalogowaniu się i po otrzymaniu danych logowania możesz przesłać zebrane dzienniki do backendu w celu późniejszej analizy. Na przykład funkcja informational:showauth2use
zapisuje pochodzenie i adres URL w kluczu pamięci sesji o nazwie showauth2use
.
Aby sprawdzić zachowanie aplikacji, gdy moduł gapi.auth2
nie jest już wczytywany, ustaw wartość pliku cookie G_AUTH2_MIGRATION
na enforced
. Umożliwia to przetestowanie zachowania po wycofaniu przed datą wprowadzenia.
Możliwe wartości plików cookie G_AUTH2_MIGRATION
:
enforced
Nie wczytuj moduługapi.auth2
.informational
Zaloguj w konsoli JS użycie przestarzałych funkcji. Zapisuj też do pamięci sesji, gdy ustawiona jest opcjonalna nazwa klucza:informational:key-name
.
Aby zminimalizować wpływ na użytkowników, zalecamy najpierw ustawienie tego pliku cookie lokalnie podczas tworzenia i testowania, a dopiero potem użycie go w środowiskach produkcyjnych.
HTML i JavaScript
W tym scenariuszu logowania tylko do uwierzytelniania pokazano przykładowy kod i renderowanie dotychczasowego przycisku logowania w Google. Wybierz tryb wyskakującego okienka lub przekierowania, aby zobaczyć różnice w sposobie obsługi odpowiedzi uwierzytelniającej przez wywołanie zwrotne JavaScriptu lub bezpieczne przekierowanie do punktu końcowego logowania na serwerze zaplecza.
Wcześniej
Tryb wyskakującego okienka
Wyświetl przycisk logowania przez Google i użyj funkcji wywołania zwrotnego do obsługi logowania bezpośrednio w przeglądarce 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
Wyrenderuj przycisk logowania do Google, kończąc wywołaniem AJAX z przeglądarki użytkownika do punktu końcowego logowania na serwerach backendowych.
<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>
Renderowany
Nowe atrybuty wizualne upraszczają wcześniejszą metodę tworzenia przycisku niestandardowego, eliminują wywołania do funkcji gapi.signin2.render()
i eliminują potrzebę hostowania i utrzymywania obrazów oraz zasobów wizualnych w witrynie.
Tekst przycisku aktualizujący stan logowania użytkownika.
Nowa droga
Aby używać nowej biblioteki w sytuacji logowania tylko do uwierzytelniania, wybierz tryb wyskakującego okienka lub przekierowania i zastąp obecną implementację na stronie logowania za pomocą przykładowego kodu.
Tryb wyskakującego okienka
Użyj wywołania zwrotnego, aby obsłużyć 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 logowania zgodnie z atrybutem data-login_url. Wcześniej odpowiadałeś/odpowiadałaś za operację POST i nazwę parametru. Nowa biblioteka przesyła token identyfikacyjny do punktu końcowego w parametrze credential
. Na koniec potwierdź token identyfikacyjny na serwerze.
<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>
Renderowany
Użyj atrybutów wizualnych visual-attributes, aby dostosować przycisk Zaloguj się przez Google pod względem rozmiaru, kształtu i koloru. Wyświetlaj wyskakujące okienko One Tap wraz z przyciskiem dostosowanym do potrzeb użytkownika, aby zwiększyć współczynnik logowania.
Stan zalogowania użytkownika nie aktualizuje tekstu przycisku z „Zaloguj się” na „Zalogowany”. Po wyrażeniu zgody lub po powrocie do aplikacji przycisk zawiera imię i nazwisko użytkownika, adres e-mail i zdjęcie profilowe.
W tym przykładzie dotyczącym tylko uwierzytelniania nowa biblioteka accounts.google.com/gsi/client
, klasa g_id_signin
i obiekt g_id_onload
zastępują wcześniejsze bibliotekę apis.google.com/js/platform.js
i obiekt g-signin2
.
Oprócz renderowania nowego przycisku z personalizacją przykładowy kod wyświetla też nowe wyskakujące okienko One Tap. Zalecamy, aby wszędzie tam, gdzie wyświetlasz przycisk spersonalizowany, wyświetlać też wyskakujące okienko One Tap, aby zminimalizować trudności użytkowników podczas rejestracji i logowania.
Nowy spersonalizowany przycisk może być wyświetlany sam, bez okna One Tap, choć nie jest to zalecane ze względu na zwiększone trudności w logowaniu. Aby to zrobić, ustaw atrybut data-auto_prompt
na false
.
Interfejsy API HTML i JavaScript
Poprzedni przykład pokazuje, jak za pomocą nowego interfejsu HTML API dodać do witryny opcję logowania. Możesz też użyć funkcjonalnie równoważnego interfejsu JavaScript API lub stosować na swojej stronie interfejsy HTML i JavaScript API.
Aby interaktywnie wyświetlić opcje dostosowywania przycisku, takie jak typ wywołania zwrotnego i atrybuty, takie jak kolor, rozmiar, kształt, tekst i motyw, skorzystaj z naszego generatora kodu. Możesz go używać do szybkiego porównywania różnych opcji i generowania fragmentów kodu HTML do użycia w witrynie.
Logowanie się na dowolnej stronie jednym dotknięciem
Rejestracja i logowanie jednym dotknięciem to nowy, prosty sposób rejestracji i logowania się w Twojej witrynie. Umożliwia ona logowanie się użytkowników bezpośrednio z dowolnej strony w witrynie i eliminuje konieczność otwierania przez nich specjalnej strony logowania. Innymi słowy, ta funkcja zmniejsza trudności związane z rejestracją i logowaniem, dając użytkownikom możliwość rejestracji i logowania się z innych stron niż strona logowania.
Aby umożliwić logowanie się z dowolnej strony, zalecamy umieszczenie elementu g_id_onload
w wspólnym nagłówku, stopce lub innym obiekcie w całej witrynie.
Zalecamy też dodanie tagu g_id_signin
, który wyświetla spersonalizowany przycisk logowania, tylko na stronach logowania lub zarządzania kontami użytkowników. Daj użytkownikom możliwość wyboru sposobu rejestracji lub logowania, wyświetlając przycisk obok innych przycisków dostawców tożsamości i pól na nazwę użytkownika i hasło.
Odpowiedź tokena
Logowanie użytkownika nie wymaga już znajomości kodów autoryzacji, tokenów dostępu ani tokenów odświeżania OAuth 2.0. Zamiast tego do udostępniania stanu logowania i profilu użytkownika używa się tokena ID sieciowego JSON (JWT). Aby jeszcze bardziej uprościć kod, nie musisz już używać metod dostępu w stylu „getter” do pracy z danymi profilu użytkownika.
Bezpieczne dane logowania w formie podpisanego przez Google tokena identyfikacyjnego JWT są zwracane w jednym z tych formatów:
- do obsługiwanego przez przeglądarkę wywołania zwrotnego JavaScriptu w trybie wyskakującego okienka lub
- na serwer backendu przez przekierowanie Google do punktu końcowego logowania, gdy przycisk Zaloguj się przez Google
ux_mode
jest ustawiony naredirect
.
W obu przypadkach zaktualizuj istniejące moduły obsługi wywołania zwrotnego, usuwając:
- połączeń do
googleUser.getBasicProfile()
, - odwołania do
BasicProfile
oraz powiązane wywołania metodgetId()
,getName()
,getGivenName()
,getFamilyName()
,getImageUrl()
igetEmail()
, - użycie obiektu
AuthResponse
.
Zamiast tego użyj bezpośrednich odwołań do pól podrzędnych credential
w nowym obiekcie JWT CredentialResponse
, aby pracować z danymi profilu użytkownika.
Dodatkowo tylko w przypadku trybu przekierowania pamiętaj, aby zapobiegać fałszowaniu żądań między witrynami (CSRF) i weryfikować token identyfikatora Google na serwerze zaplecza.
Aby lepiej zrozumieć, jak użytkownicy korzystają z Twojej witryny, możesz użyć pola select_by
w danych CredentialResponse, aby określić wynik zgody użytkownika i użyty proces logowania.
Zgoda użytkownika i odwołanie zgody
Gdy użytkownik po raz pierwszy loguje się w Twojej witrynie, Google prosi go o zgodę na udostępnienie profilu konta Twojej aplikacji. Dopiero po wyrażeniu zgody profil użytkownika jest udostępniany Twojej aplikacji w tokenie ID z danymi uwierzytelniania. Odebranie dostępu do tego profilu jest równoznaczne z odebraniem tokena dostępu w bibliotece z wcześniejszym logowaniem.
Użytkownicy mogą cofnąć uprawnienia i odłączyć Twoją aplikację od konta Google, odwiedzając stronę https://myaccount.google.com/permissions.
Mogą też rozłączyć się bezpośrednio z aplikacją, wywołując wywołanie interfejsu API, które wdrożysz. Wcześniejsza metoda disconnect
została zastąpiona nowszą metodą revoke
.
Gdy użytkownik usunie swoje konto na Twojej platformie, zalecamy użycie funkcji revoke
, aby odłączyć aplikację od jego konta Google.
Wcześniej funkcja auth2.signOut()
mogła być używana do zarządzania wylogowywaniem użytkowników z aplikacji. Należy usunąć wszelkie użycia funkcji auth2.signOut()
, a aplikacja powinna bezpośrednio zarządzać stanem sesji i stanem logowania użytkowników.
Stan sesji i słuchacze
Nowa biblioteka nie zachowuje stanu logowania ani stanu sesji w aplikacji internetowej.
Stan sesji i stan zalogowania aplikacji są od siebie niezależne.
Stan logowania użytkownika na konto Google i stan logowania w aplikacji są od siebie niezależne, z wyjątkiem momentu logowania, gdy wiesz, że użytkownik został pomyślnie uwierzytelniony i zalogowany na swoje konto Google.
Jeśli na stronie włączone są opcje 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 podczas rejestracji lub logowania się w Twojej witrynie,
- i później podczas logowania się w Twojej witrynie.
Użytkownicy mogą pozostać zalogowani, wylogować się lub przełączyć na inne konto Google, zachowując aktywną sesję w Twojej witrynie.
Teraz musisz bezpośrednio zarządzać stanem logowania użytkowników Twojej aplikacji internetowej. Wcześniej logowanie w Google pomagało w monitorowaniu stanu sesji użytkownika.
Usuń wszystkie odwołania do auth2.attachClickHandler()
i zarejestrowanych przez nią obsługiwanych wywołań zwrotnych.
Wcześniej Listenery były używane do udostępniania zmian w stanie zalogowania na konto Google użytkownika. Odbiorniki nie są już obsługiwane.
Usuń wszystkie odniesienia do listen()
, auth2.currentUser
i auth2.isSignedIn
.
Pliki cookie
Funkcja Zaloguj się przez Google korzysta z plików cookie w ograniczonym zakresie. Poniżej znajdziesz ich opis. Więcej informacji o innych typach 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ę Google Sign-In Platform nie jest już używany.
Nowa biblioteka Google Identity Services może opcjonalnie ustawiać te pliki cookie między domenami na podstawie opcji konfiguracji:
g_state
przechowuje stan wylogowania użytkownika i jest ustawiany podczas korzystania z wyskakującego okienka Jednego dotknięcia lub logowania automatycznego,g_csrf_token
to plik cookie służący do podwójnego przesyłania, który zapobiega atakom CSRF. Jest ustawiany, gdy wywoływany jest punkt końcowy logowania. Wartość identyfikatora URI logowania może być ustawiona jawnie lub domyślnie może być używany identyfikator URI bieżącej strony. Punkt końcowy logowania może być wywoływany w tych warunkach, gdy używasz:HTML API z wartością
data-ux_mode=redirect
lubdata-login_uri
,Interfejs JavaScript API z
ux_mode=redirect
, w którymgoogle.accounts.id.prompt()
nie jest używany do wyświetlania logowania automatycznego ani logowania jednym dotknięciem.
Jeśli masz usługę, która zarządza plikami cookie, dodaj 2 nowe pliki cookie i usuń starszy plik cookie po zakończeniu migracji.
Jeśli zarządzasz wieloma domenami lub subdomenami, w artykule Wyświetlanie funkcji One Tap na subdomenach znajdziesz instrukcje dotyczące obsługi pliku cookie g_state
.
Informacje o migracji obiektów dotyczące logowania użytkowników
Stary | Nowy | Uwagi |
---|---|---|
Biblioteki JavaScript | ||
apis.google.com/js/platform.js | accounts.google.com/gsi/client | Zastąp stare nowymi. |
apis.google.com/js/api.js | accounts.google.com/gsi/client | Zastąp stare nowymi. |
Obiekt GoogleAuth i powiązane metody: | ||
GoogleAuth.attachClickHandler() | IdConfiguration.callback w przypadku JS i HTML data-callback | Zastąp stare nowymi. |
GoogleAuth.currentUser.get() | CredentialResponse | Zamiast tego użyj elementu CredentialResponse, który nie jest już potrzebny. |
GoogleAuth.currentUser.listen() | Usuń. bieżący stan logowania użytkownika w Google jest niedostępny; Użytkownicy muszą być zalogowani w Google w momencie wyrażania zgody i logowania. Pole select_by w odpowiedzi CredentialResponse może służyć do określenia wyniku zgody użytkownika wraz z użytą metodą logowania. | |
GoogleAuth.disconnect() | google.accounts.id.revoke | Zastąp stare nowymi. Odwołanie zgody może nastąpić również na stronie https://myaccount.google.com/permissions. |
GoogleAuth.grantOfflineAccess() | Usuń. Token identyfikatora zastąpił tokeny dostępu 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 w momencie wyrażania zgody i logowania. | |
GoogleAuth.isSignedIn.listen() | Usuń. bieżący stan logowania użytkownika w Google jest niedostępny; Użytkownicy muszą być zalogowani w Google w momencie wyrażania zgody i logowania. | |
GoogleAuth.signIn() | Usuń. Załadowanie 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 aplikacji i na koncie Google jest niezależny. Google nie zarządza stanem sesji Twojej aplikacji. | |
GoogleAuth.then() | Usuń. GoogleAuth został wycofany. | |
Obiekt GoogleUser i powiązane metody: | ||
GoogleUser.disconnect() | google.accounts.id.revoke | Zastąp stare nowymi. Odwołanie zgody może nastąpić również na stronie https://myaccount.google.com/permissions. |
GoogleUser.getAuthResponse() | ||
GoogleUser.getBasicProfile() | CredentialResponse | Zamiast metody BasicProfile używaj bezpośrednio pola credential i jego podpola. |
GoogleUser.getGrantedScopes() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
GoogleUser.getHostedDomain() | CredentialResponse | Zamiast tego użyj bezpośrednio interfejsu credential.hd . |
GoogleUser.getId() | CredentialResponse | Zamiast tego użyj bezpośrednio interfejsu credential.sub . |
GoogleUser.grantOfflineAccess() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
GoogleUser.grant() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
GoogleUser.hasGrantedScopes() | Usuń. Token identyfikatora zastąpił tokeny dostępu 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 w momencie wyrażania zgody i logowania. | |
GoogleUser.reloadAuthResponse() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt gapi.auth2 i powiązane metody: | ||
Obiekt gapi.auth2.AuthorizeConfig | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt „gapi.auth2.AuthorizeResponse” | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt „gapi.auth2.AuthResponse” | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
gapi.auth2.authorize() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
gapi.auth2.ClientConfig() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
gapi.auth2.getAuthInstance() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
gapi.auth2.init() | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt gapi.auth2.OfflineAccessOptions | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt gapi.auth2.SignInOptions | Usuń. Token identyfikatora zastąpił tokeny dostępu i zakresy OAuth 2.0. | |
Obiekt gapi.signin2 i powiązane metody: | ||
gapi.signin2.render() | Usuń. Załadowanie HTML DOM elementu g_id_signin lub wywołanie JS google.accounts.id.renderButton powoduje zalogowanie użytkownika na konto Google. |