Autoryzowanie dla witryn

Aby bezpiecznie wywoływać interfejsy API Google, aplikacje internetowe muszą uzyskać token dostępu.

Biblioteka JavaScript usług Google Identity obsługuje zarówno uwierzytelnianie logowania użytkownika, jak i autoryzację w celu uzyskania tokena dostępu do użycia z interfejsami API Google. Biblioteka jest przeznaczona do użytku wyłącznie w przeglądarkach.

Uwierzytelnianie pozwala ustalić, kim jest użytkownik, i jest zwykle nazywane rejestracją lub logowaniem użytkowników. Autoryzacja to proces przyznawania i 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 zakresom oraz pobieranie tokena dostępu do użycia przez interfejsy API Google.

Te przewodniki obejmują tematy związane z autoryzacją i udostępnianiem danych.

Jak działa autoryzacja użytkownika zawiera szczegółowe informacje na temat poszczególnych etapów autoryzacji użytkownika oraz przykłady okien dialogowych użytkownika.

Jeśli potrzebujesz pomocy dotyczącej uwierzytelniania oraz implementacji rejestracji i logowania użytkowników, przeczytaj artykuł Zaloguj się przez Google.

Tej biblioteki nie można używać z platformami JavaScript po stronie serwera, takimi jak Node.js. Zamiast tego używaj biblioteki klienta Google Node.js.

Co się zmieniło?

Biblioteka Google Identity Services zapewnia użytkownikom wiele usprawnień w porównaniu z wcześniejszymi bibliotekami JavaScript, w tym:

  • Uwierzytelnianie dla logowania użytkownika i autoryzacja w celu uzyskania tokena dostępu do wywoływania interfejsów API Google obejmują teraz 2 oddzielne, odrębne procesy użytkownika – jeden na potrzeby logowania, a drugi dotyczący zgody podczas autoryzacji. Został on wyposażony w odrębne przepływy pracy, które pozwalają wyraźnie odróżnić użytkownika od możliwości aplikacji.
  • Lepsza widoczność i szczegółowa kontrola nad udostępnianiem danych podczas wyświetlania zgody użytkownika.
  • Wyskakujące okienka oparte na przeglądarce, które usprawniają pracę i nie wymagają od użytkowników opuszczania witryny, aby:
    • uzyskać token dostępu od Google,
    • Wyślij kod autoryzacji na Twoją platformę backendu.

Z myślą o deweloperach skoncentrowaliśmy się na uproszczeniu procesu integracji, poprawie bezpieczeństwa oraz ułatwieniu i usprawnieniu 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 osobne, różne zestawy obiektów i metod JavaScript. Pozwala to zmniejszyć złożoność i liczbę szczegółów wymaganych do wdrożenia uwierzytelniania lub autoryzacji.
  • Jedna biblioteka JavaScript obsługuje teraz:
    • Protokół niejawny OAuth 2.0 używany do uzyskiwania tokena dostępu do użycia w przeglądarce
    • Przepływ kodu autoryzacji OAuth 2.0, nazywany też dostępem offline, inicjuje bezpieczne dostarczanie kodu autoryzacji do platformy backendu, gdzie można go wymienić na token dostępu i token odświeżania. Wcześniej te przepływy były dostępne tylko przy użyciu wielu bibliotek i przez bezpośrednie wywołania punktów końcowych OAuth 2.0. Pojedyncza biblioteka pozwala skrócić czas i wysiłek związany z integracją. Zamiast uwzględniać i uczyć kilka bibliotek oraz pojęć związanych z protokołem OAuth 2.0, możesz skupić się na jednym, ujednoliconym interfejsie.
  • Usunęliśmy funkcję pośrednią w postaci funkcji stylu pobierającego, aby uprościć i czytelność.
  • Obsługując odpowiedzi na żądania autoryzacji, wybierasz, czy do realizacji żądań chcesz używać obietnicy, a nie podejmować takiej decyzji za Ciebie.
  • Wprowadzono te zmiany w bibliotece klienta interfejsów API Google do języka JavaScript:
    • Moduł gapi.auth2 oraz powiązane z nim obiekty i metody nie są już ładowane automatycznie i zostały zastąpione bardziej jawnymi obiektami i metodami biblioteki usług tożsamości Google.
    • Automatyczne odświeżanie wygasłych tokenów dostępu zostało usunięte, aby zwiększyć bezpieczeństwo użytkowników i zwiększyć ich świadomość. Po wygaśnięciu tokena dostępu aplikacja musi obsługiwać błędy interfejsu API Google, wysyłać żądania oraz uzyskać nowy, prawidłowy token dostępu.
    • Aby wyraźnie oddzielić momenty uwierzytelniania i autoryzacji, jednocześnie nie jest obsługiwane logowanie użytkownika w aplikacji i na jego koncie Google oraz przyznawanie tokena dostępu. Wcześniej żądanie tokena dostępu powodowało też logowanie użytkowników na ich konta Google i zwracanie danych logowania tokena identyfikatora JWT w celu uwierzytelnienia.
  • Z myślą o zwiększeniu bezpieczeństwa i prywatności użytkowników dane logowania wystawiane na potrzeby autoryzacji są zgodne z zasadą jak najmniejszych uprawnień – zawierają tylko token dostępu i informacje wymagane do zarządzania nimi.