Autoryzowanie dla witryn

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.auth2 oraz 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.
  • 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.