Uwierzytelnianie i autoryzacja to mechanizmy służące odpowiednio do weryfikacji tożsamości i dostępu do zasobów. Ten dokument przedstawia kluczowe terminy, które warto znać, zanim zaimplementujesz uwierzytelnianie i autoryzację w swojej aplikacji.
Uwierzytelnianie określa, kto wysyła żądanie. Autoryzacja określa, do jakich zasobów może uzyskać dostęp osoba wysyłająca prośbę i jaki ma poziom dostępu. Uwierzytelnianie to warunek wstępny autoryzacji. Bez uprzedniego określenia tożsamości osoby wysyłającej nie możesz określić, do których zasobów można uzyskać dostęp. Bardziej szczegółową definicję znajdziesz w sekcji dotyczącej ważnej terminologii.
Rozważmy poniższy uproszczony przykład rezerwacji hotelu. Po przybyciu do hotelu pracownik recepcji poprosi Cię o dokument tożsamości, aby potwierdzić rezerwację. Dokument tożsamości potwierdza Twoją tożsamość w hotelu. Pracownik recepcji wręcza Ci klucz hotelowy. Zapewnia on dostęp do niektórych zasobów w hotelu, np. pokoju hotelowego, siłowni i centrum biznesowego. Klucz hotelowy autoryzuje dostęp do tych zasobów.
Omówienie procesu
Poniższy diagram przedstawia ogólne kroki uwierzytelniania i autoryzacji interfejsów API Google Workspace:

Skonfiguruj projekt i aplikację Google Cloud: w trakcie tworzenia aplikacji rejestrujesz aplikację w konsoli Google Cloud, definiując zakresy autoryzacji i dane logowania w celu uwierzytelniania aplikacji za pomocą klucza interfejsu API, danych logowania użytkownika lub danych logowania do konta usługi.
Uwierzytelnij aplikację, aby uzyskać dostęp: po uruchomieniu aplikacji sprawdzane są zarejestrowane dane uwierzytelniające. Jeśli aplikacja uwierzytelnia się jako użytkownik, może pojawić się prośba o zalogowanie.
Wysyłanie próśb o zasoby: gdy aplikacja potrzebuje dostępu do zasobów Google, prosi Google o odpowiednie, wcześniej zarejestrowane zakresy dostępu.
Poproś o zgodę użytkownika: jeśli aplikacja uwierzytelnia się jako użytkownik, Google wyświetla ekran zgody OAuth, aby użytkownik mógł zdecydować, czy przyznać jej dostęp do żądanych danych.
Wyślij zatwierdzoną prośbę o zasoby: jeśli użytkownik wyrazi zgodę na zakresy dostępu, aplikacja dołączy do żądania dane logowania i zatwierdzone przez użytkownika zakresy dostępu. W celu uzyskania tokena dostępu żądanie jest wysyłane do serwera autoryzacji Google.
Google zwraca token dostępu: token dostępu zawiera listę przyznanych zakresów dostępu. Jeśli zwrócona lista zakresów jest bardziej ograniczona niż żądane zakresy dostępu, aplikacja wyłącza wszystkie funkcje ograniczone tokenem.
Dostęp do żądanych zasobów: aplikacja wykorzystuje token dostępu od Google, aby wywoływać odpowiednie interfejsy API i uzyskiwać dostęp do zasobów.
Uzyskaj token odświeżania (opcjonalnie): jeśli aplikacja będzie potrzebować dostępu do interfejsu API Google przed upływem czasu ważności pojedynczego tokena dostępu, może uzyskać token odświeżania.
Poproś o więcej zasobów: jeśli potrzebny jest dodatkowy dostęp, aplikacja poprosi użytkownika o przyznanie nowych zakresów dostępu. W rezultacie nowa prośba o token dostępu zostanie wysłana (kroki 3–6).
Ważna terminologia
Poniżej znajduje się lista terminów związanych z uwierzytelnianiem i autoryzacją:
- Uwierzytelnianie
Polega ona na zagwarantowaniu, że przełożony, którym może być użytkownik lub aplikacja działająca w imieniu użytkownika, jest tym, za kogo się podaje. Pisząc aplikacje Google Workspace, pamiętaj o tych rodzajach uwierzytelniania:
- Uwierzytelnianie użytkownika
- Czynność użytkownika polegająca na uwierzytelnianiu (logowaniu się) w aplikacji. Zwykle odbywa się to przez proces logowania, w którym użytkownik weryfikuje swoją tożsamość w aplikacji za pomocą kombinacji nazwy użytkownika i hasła. Uwierzytelnianie użytkownika można włączyć w aplikacji za pomocą funkcji Zaloguj się przez Google.
- Uwierzytelnianie aplikacji
- Funkcja uwierzytelniania aplikacji bezpośrednio w usługach Google w imieniu użytkownika uruchamiającego aplikację. Uwierzytelnianie aplikacji odbywa się zwykle przy użyciu gotowych danych uwierzytelniających w kodzie aplikacji.
- Autoryzacja
Uprawnienia, czyli „uprawnienia”, które podmiot zabezpieczeń ma do dostępu do danych lub wykonywania operacji. Autoryzacja jest przeprowadzana za pomocą kodu, który wpisujesz w aplikacji. Kod ten informuje użytkownika, że aplikacja chce działać w jego imieniu. Jeśli jest to dozwolone, wykorzystuje unikalne dane logowania, aby uzyskać od Google token dostępu używany do uzyskiwania dostępu do danych lub wykonywania operacji.
- Dane logowania
Forma identyfikacji używana do zabezpieczenia oprogramowania. Dane uwierzytelniające to często połączenie nazwy użytkownika i hasła. W przypadku autoryzacji interfejsów API Google Workspace dane logowania to zwykle pewna forma identyfikacji, np. unikalny tajny ciąg znaków znany tylko między deweloperem aplikacji a serwerem uwierzytelniania. Google obsługuje te dane uwierzytelniające: klucz interfejsu API, identyfikator klienta OAuth 2.0 i konta usługi.
- Klucz interfejsu API
- Dane logowania służące do wysyłania próśb o dostęp do danych publicznych, takich jak dane przekazywane przy użyciu interfejsu API Map Google lub plików Google Workspace udostępnionych przy użyciu ustawienia „Każdy użytkownik internetu mający ten link” w ustawieniach udostępniania Google Workspace.
- Identyfikator klienta OAuth 2
- Dane logowania używane do wysyłania próśb o dostęp do danych należących do użytkowników. Są to podstawowe dane logowania używane do wysyłania żądań dostępu do danych za pomocą interfejsów Google Workspace API. Te dane logowania wymagają zgody użytkownika.
- Tajny klucz klienta
- Ciąg znaków, który powinien być znany tylko dla Twojej aplikacji i serwera autoryzacji. Tajny klucz klienta chroni dane użytkownika, przyznając tokeny tylko autoryzowanym podmiotom żądającym. Nigdy nie umieszczaj w aplikacji niezaszyfrowanego klucza klienta. Zalecamy bezpieczne przechowywanie go. Więcej informacji znajdziesz w artykule Bezpieczna obsługa danych logowania klienta.
- Klucze konta usługi
- Używane przez konta usługi do uzyskania autoryzacji w usłudze Google.
- Konto usługi
- Dane logowania używane do interakcji między serwerami, np. aplikacja bez twarzy, która działa jako proces uzyskiwania dostępu do niektórych danych lub wykonywania jakiejś operacji. Konta usługi są zwykle używane do uzyskiwania dostępu do danych i operacji w chmurze. Jednak w przypadku przekazywania uprawnień w całej domenie można używać tych uprawnień do uzyskiwania dostępu do danych użytkowników.
- Zakres
Identyfikator URI OAuth 2.0, który określa poziom dostępu do zasobów lub działań przyznanych aplikacji. W przypadku Google Workspace identyfikatory URI zakresu autoryzacji zawierają nazwę aplikacji Google Workspace, rodzaj danych, do których uzyskuje dostęp, i poziom dostępu. Użytkownicy aplikacji mogą sprawdzić żądane zakresy i wybrać uprawnienia dostępu, a serwer uwierzytelniania Google zwróci do aplikacji dozwolone zakresy w tokenie dostępu. Więcej informacji znajdziesz w artykule Jak wybrać zakresy dla aplikacji.
- Serwer autoryzacji
Serwer Google służący do przyznawania dostępu (przy użyciu tokena dostępu) do danych i operacji, których dotyczy żądanie aplikacji.
- Kod autoryzacji
Kod wysłany z serwera autoryzacji służący do uzyskania tokena dostępu. Kod jest potrzebny tylko wtedy, gdy typem aplikacji jest aplikacja serwera WWW lub aplikacja zainstalowana.
- Token dostępu
Token przyznający dostęp do interfejsu Google Workspace API. Pojedynczy token dostępu może przyznawać różne poziomy dostępu do wielu interfejsów API (nazywanych zakresami). Kod autoryzacji aplikacji żąda tokenów dostępu i używa ich do wywoływania interfejsów API Google Workspace.
- Serwer zasobów
Serwer hostujący interfejs API, który aplikacja chce wywoływać.
- Platforma OAuth 2.0
Standard, którego może używać aplikacja, aby zapewnić jej „bezpieczny przekazywanie dostępu” lub dostęp do danych i operacji w imieniu użytkownika aplikacji. Mechanizmy uwierzytelniania i autoryzacji używane w aplikacji odzwierciedlają Twoją implementację platformy OAuth 2.0.
- Podmiot zabezpieczeń
Encja, zwana też tożsamością, której można przyznać dostęp do zasobu. Interfejsy Google Workspace API obsługują 2 rodzaje podmiotów zabezpieczeń: konta użytkowników i konta usługi. Więcej informacji znajdziesz w sekcji Podmioty zabezpieczeń.
- Typ danych
W kontekście uwierzytelniania i autoryzacji typ danych odnosi się do podmiotu, który jest właścicielem danych, do których aplikacja próbuje uzyskać dostęp. Są 3 typy danych:
- Dane z domeny publicznej
- Dane dostępne dla każdego, np. niektóre dane z Map Google. Dostęp do tych danych uzyskuje się zwykle za pomocą klucza interfejsu API.
- Dane użytkowników
- Dane należące do określonego użytkownika lub grupy, takie jak pliki konkretnego użytkownika na Dysku Google. Dostęp do tego typu danych uzyskuje się zwykle za pomocą identyfikatora klienta OAuth 2 lub konta usługi.
- Dane z chmury
- Dane należące do projektu Google Cloud. Dostęp do tego typu danych zazwyczaj uzyskuje konto usługi.
- Zgoda użytkownika
Etap autoryzacji, który wymaga od użytkownika aplikacji autoryzacji dostępu do danych oraz wykonywania operacji w imieniu użytkownika.
- Typ aplikacji
Typ aplikacji, którą chcesz utworzyć. Podczas tworzenia danych logowania za pomocą konsoli Google Cloud zobaczysz prośbę o wybranie typu aplikacji. Typy aplikacji to: aplikacja internetowa (JavaScript), Android, aplikacja Chrome, iOS, telewizory i urządzenia z ograniczonym dostępem do wprowadzania danych, aplikacja komputerowa (zwana też „zainstalowaną aplikacją”) i platforma Universal Windows (UWP).
- Konto usługi
Specjalny typ konta Google przeznaczonego do reprezentowania użytkownika, który nie jest człowiekiem, ale musi się uwierzytelnić i mieć dostęp do danych. Aplikacja przyjmuje tożsamość konta usługi do wywoływania interfejsów API Google, by użytkownicy nie byli w to bezpośrednio zaangażowani. Same konta usługi nie mogą być używane do uzyskiwania dostępu do danych użytkownika, a dostęp do danych jest zwykle uzyskiwany za pomocą interfejsów Workspace API. Jednak konto usługi może uzyskiwać dostęp do danych użytkownika przez wdrożenie przekazywania uprawnień w całej domenie. Więcej informacji znajdziesz w opisie kont usługi.
- Przekazywanie uprawnień w całej domenie
Funkcja administracyjna, która umożliwia aplikacji dostęp do danych użytkownika w imieniu użytkowników w organizacji Google Workspace. Przy użyciu przekazywania w całej domenie można wykonywać czynności administracyjne związane z danymi użytkowników. Aby przekazać uprawnienia w ten sposób, administratorzy Google Workspace używają kont usługi z OAuth 2.0. Dzięki możliwościom, jakie daje ta funkcja, tylko superadministratorzy mogą włączać przekazywanie uprawnień w całej domenie. Więcej informacji znajdziesz w artykule Przekazywanie uprawnień do całej domeny kontu usługi.
Następny krok
Skonfiguruj ekran zgody OAuth w swojej aplikacji, aby użytkownicy mogli sprawdzić i zatwierdzić dostęp aplikacji do ich danych.