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
wczytujeapis.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ługapi.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
Tryb wyskakującego okienka
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.
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.
Tryb wyskakującego okienka
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.
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 naredirect
.
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 metodgetId()
,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.
Zgoda użytkownika i jej cofanie
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 parametrdata-login_uri
lubInterfejs API JavaScriptu z atrybutem
ux_mode=redirect
i gdziegoogle.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. |