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.
- Moduł
- 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.