Aplikacje internetowe muszą uzyskać token dostępu, aby bezpiecznie wywoływać interfejsy API Google.
Biblioteka JavaScript usług tożsamości Google obsługuje uwierzytelnianie zarówno podczas logowania się użytkowników, jak i autoryzacji do uzyskiwania tokena dostępu do użytku z interfejsami API Google. Biblioteka jest przeznaczona do użycia tylko w przeglądarkach.
Uwierzytelnianie określa, kim jest dana osoba, i jest często określane jako rejestracja lub logowanie użytkownika. Autoryzacja to proces przyznawania albo odrzucania dostępu do danych lub zasobów. Obejmuje to uzyskiwanie zgody użytkowników na wykorzystanie danych i zarządzanie nimi, a także ograniczanie ilości danych lub zasobów udostępnianych zakresom oraz pobieranie tokena dostępu do użytku z interfejsami API Google.
Te przewodniki dotyczą autoryzacji i udostępniania danych.
W artykule Jak działa autoryzacja użytkowników znajduje się szczegółowy opis poszczególnych etapów autoryzacji użytkowników oraz przykłady okien dialogowych użytkowników.
Jeśli potrzebujesz pomocy dotyczącej uwierzytelniania oraz implementacji rejestracji i logowania użytkowników, przeczytaj artykuł Logowanie się z Google.
Ta biblioteka nie jest przeznaczona dla platform JavaScript po stronie serwera, takich jak Node.js. Zamiast tego użyj biblioteki klienta Node.js.
Co się zmieniło
Dla użytkowników Biblioteka usług Google Identity oferuje wiele ulepszeń, takich jak:
- Uwierzytelnianie logowania się użytkowników i autoryzacji w celu uzyskania tokena dostępu do wywoływania interfejsów API Google mają teraz 2 oddzielne procesy: jeden dla logowania i drugi dotyczący zgody użytkownika podczas autoryzacji, a oddzielne procesy użytkownika pozwalają wyraźnie odróżnić Cię od aplikacji.
- Lepsza widoczność i lepsza kontrola nad udostępnianiem danych w ramach zgody użytkownika.
- Wyskakujące okienka oparte na przeglądarce, które ograniczają problemy i nie wymagają od użytkowników opuszczania witryny:
- uzyskać od Google token dostępu,
- wysłać kod autoryzacji do backendu.
Naszym celem było zmniejszenie złożoności, zwiększenie bezpieczeństwa oraz (np. w najkrótszym czasie) integracja. Oto niektóre z nich:
- Uwierzytelnianie użytkowników przy logowaniu i autoryzacja służąca do uzyskiwania tokena dostępu do wywoływania interfejsów API Google to 2 osobne zestawy obiektów i metod JavaScriptu. Zmniejsza to stopień złożoności i ilości szczegółów wymaganych do wdrożenia uwierzytelniania lub autoryzacji.
- Jedna biblioteka JavaScript obsługuje teraz:
- Protokół OAuth 2.0 niejawny, używany do uzyskania tokena dostępu do użytku w przeglądarce
- Przepływ kodu autoryzacji OAuth 2.0 (nazywanego też dostępem offline) inicjuje bezpieczne przesyłanie kodu autoryzacji na platformę backendu, w której może być wymieniony 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 bezpośrednich wywołań do punktów końcowych OAuth 2.0. Jedna biblioteka skraca czas i wysiłek związany z integracją dzięki temu, że nie ma potrzeby poznawania wielu bibliotek i pojęć dotyczących protokołu OAuth 2.0, które mogą być używane w pojedynczym, ujednoliconym interfejsie.
- Aby zapewnić czytelność i czytelność, odebraliśmy funkcję pobierania metodą getter.
- Podczas obsługi odpowiedzi autoryzacyjnych wybierasz, czy chcesz skorzystać z obietnicy, czy też nie chcesz podejmować decyzji za Ciebie.
- Zaktualizowaliśmy bibliotekę klienta interfejsu API Google dla JavaScriptu, wprowadzając te zmiany:
- Moduł
gapi.auth2
wraz z powiązanymi obiektami i metodami nie są już automatycznie wczytywane w tle i zostały zastąpione bardziej jawnymi obiektami i metodami bibliotek usług Google Identity. - Usunęliśmy automatyczne odświeżanie wygasłych tokenów dostępu, aby zwiększyć bezpieczeństwo i świadomość użytkowników. Po wygaśnięciu tokena dostępu aplikacja musi obsługiwać odpowiedzi na pytania o błędy w interfejsie Google API, prosić o to i uzyskać nowy, ważny token dostępu.
- Aby wyraźnie oddzielać momenty uwierzytelniania i autoryzacji, jednoczesne logowanie użytkowników w aplikacji i na konto Google nie jest już możliwe. Wcześniej żądanie tokena dostępu powoduje też zalogowanie użytkowników na ich konta Google i zwrócenie danych logowania do tokena JWT w celu uwierzytelnienia użytkownika.
- Moduł
- Ze względów bezpieczeństwa i prywatności użytkowników dane logowania wydane na potrzeby autoryzacji są zgodne z zasadą jak najmniejszych uprawnień: obejmują tylko token dostępu i informacje wymagane do zarządzania nim.