Aplikacje internetowe muszą uzyskać token dostępu, aby bezpiecznie wywoływać interfejsy API Google.
Biblioteka JavaScript Google Identity Services obsługuje zarówno uwierzytelnianie podczas logowania użytkownika, jak i autoryzację w celu uzyskania tokena dostępu do interfejsów API Google. Biblioteka jest przeznaczona wyłącznie do użytku w przeglądarkach.
Uwierzytelnianie potwierdza tożsamość użytkownika i jest często określane jako rejestracja lub logowanie. Autoryzacja to proces przyznawania lub odrzucania dostępu do danych lub zasobów. Obejmuje to uzyskiwanie zgody użytkownika i zarządzanie nią, ograniczanie ilości danych lub zasobów udostępnianych w zakresach oraz pobieranie tokena dostępu do użycia w interfejsach API Google.
Te przewodniki obejmują tematy związane z autoryzacją i udostępnianiem danych.
W artykule Jak działa autoryzacja użytkownika szczegółowo opisujemy poszczególne etapy autoryzacji użytkownika i podajemy przykłady okien dialogowych.
Jeśli potrzebujesz pomocy w zakresie uwierzytelniania i wdrażania rejestracji oraz logowania użytkowników, zapoznaj się z artykułem Logowanie się przez Google.
Ta biblioteka nie jest przeznaczona do używania z platformami JavaScript po stronie serwera, takimi jak Node.js. Zamiast niej używaj biblioteki klienta Google Node.js.
Co się zmieniło
Biblioteka Google Identity Services oferuje użytkownikom wiele ulepszeń w zakresie użyteczności w porównaniu z wcześniejszymi bibliotekami JavaScript, w tym:
- Uwierzytelnianie logowania użytkownika i autoryzacja w celu uzyskania tokena dostępu do wywoływania interfejsów API Google mają teraz 2 osobne i różne ścieżki użytkownika: jedną do logowania, a drugą do wyrażania zgody podczas autoryzacji. Osobne ścieżki użytkownika pozwalają wyraźnie odróżnić tożsamość użytkownika od możliwości aplikacji.
- Większa widoczność i szczegółowa kontrola udostępniania danych podczas zgody użytkownika.
- okna dialogowe w przeglądarce, które zmniejszają trudności i nie wymagają od użytkowników opuszczania witryny, aby:
- uzyskać token dostępu od Google;
- wysłać kod autoryzacji na platformę backendu;
W przypadku deweloperów skupiliśmy się na zmniejszeniu złożoności, zwiększeniu bezpieczeństwa i uproszczeniu integracji. Oto niektóre z nich:
- Uwierzytelnianie użytkownika na potrzeby logowania i autoryzacja używana do uzyskiwania tokena dostępu do wywoływania interfejsów API Google to 2 oddzielne i różne zestawy obiektów i metod JavaScript. Upraszcza to proces uwierzytelniania i autoryzacji oraz zmniejsza ilość szczegółów wymaganych do jego przeprowadzenia.
- Jedna biblioteka JavaScript obsługuje teraz zarówno:
- Przepływ niejawny OAuth 2.0, który służy do uzyskiwania tokena dostępu do użycia w przeglądarce.
- Przepływ kodu autoryzacji OAuth 2.0, znany też jako dostęp offline, bezpiecznie przesyła kod autoryzacji na platformę backendu, gdzie można go wymienić na token dostępu i token odświeżania. Wcześniej te procesy były dostępne tylko przy użyciu wielu bibliotek i bezpośrednich wywołań punktów końcowych OAuth 2.0. Pojedyncza biblioteka skraca czas i zmniejsza nakład pracy związany z integracją. Zamiast uwzględniać i poznawać wiele bibliotek oraz koncepcji OAuth 2.0, możesz skupić się na jednym, ujednoliconym interfejsie.
- Dla uproszczenia i czytelności usunięto pośrednie wywołania funkcji w stylu gettera.
- Podczas obsługi odpowiedzi autoryzacji możesz zdecydować, czy użyć Promise do realizacji żądań, zamiast podejmować tę decyzję za Ciebie.
- Biblioteka klienta interfejsów API Google do JavaScriptu została zaktualizowana o te zmiany:
- moduł
gapi.auth2oraz powiązane z nim obiekty i metody nie są już automatycznie wczytywane w tle i zostały zastąpione bardziej jednoznacznymi obiektami i metodami biblioteki usług Google Identity Services. - Automatyczne odświeżanie wygasłych tokenów dostępu zostało usunięte, aby zwiększyć bezpieczeństwo użytkowników i ich świadomość. Po wygaśnięciu tokena dostępu aplikacja musi obsługiwać odpowiedzi o błędach interfejsu Google API, wysyłać żądania i pobierać nowy, ważny token dostępu.
- Aby zapewnić wyraźne rozdzielenie momentów uwierzytelniania i autoryzacji, jednoczesne logowanie użytkownika w aplikacji i na koncie Google oraz wydawanie tokena dostępu nie jest już obsługiwane. Wcześniej prośba o token dostępu powodowała też zalogowanie użytkowników na konto Google i zwracała token identyfikacyjny JWT do uwierzytelniania użytkownika.
- moduł
- Aby zwiększyć bezpieczeństwo i prywatność użytkowników, dane logowania wydawane na potrzeby autoryzacji są zgodne z zasadą jak najmniejszych uprawnień, ponieważ zawierają tylko token dostępu i informacje wymagane do zarządzania nim.