Biblioteka JavaScript autoryzacji Google dla witryn 3P – dokumentacja interfejsu API

W tym dokumencie znajdziesz opis interfejsu Google 3P Authorization JavaScript Library API, którego możesz używać do wczytywania kodów autoryzacji lub tokenów dostępu z Google.

Metoda: google.accounts.oauth2.initCodeClient

Metoda initCodeClient inicjuje i zwraca klienta kodu z konfiguracjami w parametrze.

google.accounts.oauth2.initCodeClient(config: CodeClientConfig)

Typ danych: CodeClientConfig

W tej tabeli znajdziesz właściwości typu danych CodeClientConfig.

Właściwości
client_id Wymagany. Identyfikator klienta Twojej aplikacji. Wartość tę znajdziesz w Konsoli interfejsów API.
scope Wymagany. Oddzielona spacjami lista zakresów, które identyfikują zasoby, do których aplikacja może uzyskać dostęp w imieniu użytkownika. Te wartości określają ekran zgody wyświetlany użytkownikowi przez Google.
include_granted_scopes Opcjonalna, domyślnie true. Umożliwia aplikacjom korzystanie z autoryzacji stopniowej do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i prośba o autoryzację zostanie zaakceptowana, nowy token dostępu będzie obejmował tylko zakresy, o które poprosił scope w tym CodeClientConfig.
redirect_uri Wymagany w celu przekierowania użytkownika. Określa, dokąd serwer API przekierowuje użytkownika po zakończeniu przez niego procesu autoryzacji. Wartość musi dokładnie pasować do jednego z autoryzowanych identyfikatorów URI przekierowania dla klienta OAuth 2.0, który skonfigurowałeś w Konsoli API. Musi on być zgodny z naszymi zasadami sprawdzania identyfikatorów URI przekierowania. Właściwość zostanie zignorowana przez interfejs wyskakującego okienka.
callback Wymagane w przypadku UX wyskakującego okienka. Funkcja JavaScript, która obsługuje zwrócony kod odpowiedzi. Właściwość zostanie zignorowana przez interfejs przekierowania.
state Opcjonalnie: Zalecane w przypadku przekierowania. Określa dowolną wartość ciągu znaków, której aplikacja używa do zachowania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.
enable_granular_consent Ta opcja jest wycofana i nie ma wpływu na działanie aplikacji, jeśli jest ustawiona. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule dostęp do szczegółowych uprawnień.
enable_serial_consent Ta opcja jest wycofana i nie ma wpływu na działanie usługi, jeśli jest ustawiona. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule uprawnienia szczegółowe.
login_hint Opcjonalnie: Jeśli aplikacja wie, który użytkownik powinien autoryzować żądanie, może użyć tej właściwości, aby podać Google podpowiedź logowania. Jeśli się powiedzie, pominiesz wybór konta. Adres e-mail lub wartość pola sub w tokenie identyfikacyjnym użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
hd Opcjonalnie: Jeśli Twoja aplikacja zna domenę Workspace, do której należy użytkownik, przekaż tę informację Google. W przypadku powodzenia konta użytkowników są ograniczone do domeny podanej w danych lub są wstępnie wybrane w tej domenie. Więcej informacji znajdziesz w polu hd w dokumentacji OpenID Connect.
ux_mode Opcjonalnie: Tryb interfejsu użytkownika używany w przepływie autoryzacji. Domyślnie otworzy proces wyrażania zgody w wyskakującym okienku. Prawidłowe wartości to popupredirect.
select_account Opcjonalna, domyślnie 'false'. Wartość logiczna, która prosi użytkownika o wybranie konta.
error_callback Opcjonalnie: Funkcja JavaScriptu, która obsługuje niektóre błędy inne niż OAuth, takie jak niemożność otwarcia okna wyskakującego lub zamknięcie przed przesłaniem odpowiedzi OAuth.

Pole „type” parametru wejściowego zawiera szczegółowy powód.
  • popup_failed_to_open Nie udało się otworzyć wyskakującego okienka.
  • popup_closed – wyskakujące okienko jest zamknięte, zanim zwrócona zostanie odpowiedź OAuth.
  • unknown – zastępcza inne błędy.

Typ danych: CodeClient

Klasa ma tylko jedną publiczną metodę requestCode, która uruchamia przepływ interfejsu użytkownika OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Typ danych: odpowiedź kodu

Obiekt JavaScript CodeResponse zostanie przekazany do metody callback w interfejsie wyskakującego okienka. W interfejsie przekierowania parametr CodeResponse jest przekazywany jako parametry adresu URL.

W tej tabeli znajdziesz właściwości typu danych CodeResponse.

Właściwości
code Kod autoryzacji odpowiedzi na token.
scope Oddzielona spacjami lista zakresów zatwierdzonych przez użytkownika.
state Wartość ciągu znaków, której aplikacja używa do zachowania stanu między żądaniem autoryzacji a odpowiedzią.
error pojedynczy kod błędu ASCII;
error_description Tekst w formacie ASCII, który jest zrozumiały dla człowieka i zawiera dodatkowe informacje, które pomagają deweloperowi klienta zrozumieć, jaki błąd wystąpił.
error_uri Identyfikator URI strony internetowej w czytelnej dla człowieka postaci, na której znajdują się informacje o błędzie. Służy do przekazywania deweloperowi klienta dodatkowych informacji o błędzie.

Metoda: google.accounts.oauth2.initTokenClient

Metoda initTokenClient inicjuje i zwraca klienta tokena z konfiguracjami w parametrze.

google.accounts.oauth2.initTokenClient(config: TokenClientConfig)

Typ danych: TokenClientConfig

W tej tabeli znajdziesz właściwości typu danych TokenClientConfig.

Właściwości
client_id Wymagany. Identyfikator klienta Twojej aplikacji. Znajdziesz ją w Konsoli interfejsów API.
callback Wymagany. Funkcja JavaScript, która obsługuje zwrócony token odpowiedzi.
scope Wymagany. Oddzielona spacjami lista zakresów, które identyfikują zasoby, do których aplikacja może uzyskać dostęp w imieniu użytkownika. Te wartości określają ekran zgody wyświetlany użytkownikowi przez Google.
include_granted_scopes Opcjonalna, domyślnie true. Umożliwia aplikacjom korzystanie z autoryzacji stopniowej do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i prośba o autoryzację zostanie zaakceptowana, nowy token dostępu będzie obejmował tylko zakresy, o które poprosił scope w tym TokenClientConfig.
prompt Opcjonalna, domyślnie 'select_account'. Posortowana alfabetycznie lista promptów, w których wielkość liter ma znaczenie. Możliwe wartości:
  • pusty ciąg znaków Użytkownik zostanie poproszony o pozwolenie tylko przy pierwszym żądaniu dostępu przez aplikację. Nie można go określać za pomocą innych wartości.
  • 'none' (brak) – nie wyświetlaj żadnych ekranów uwierzytelniania ani ekranów z prośbą o zgodę. Nie można go określać z innymi wartościami.
  • „consent” – poproś użytkownika o zgodę.
  • 'select_account' Prośba o wybranie konta.
enable_granular_consent Ta opcja jest wycofana i nie ma wpływu na działanie usługi, jeśli jest skonfigurowana. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule dostęp do szczegółowych uprawnień.
enable_serial_consent Ta opcja jest wycofana i nie ma wpływu na działanie aplikacji, jeśli jest ustawiona. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule dostęp do szczegółowych uprawnień.
login_hint Opcjonalnie: Jeśli aplikacja wie, który użytkownik powinien autoryzować żądanie, może użyć tej właściwości, aby podać Google podpowiedź logowania. Jeśli się powiedzie, pominiesz wybór konta. Adres e-mail lub wartość pola sub w tokenie identyfikacyjnym użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
hd Opcjonalnie: Jeśli Twoja aplikacja zna domenę Workspace, do której należy użytkownik, przekaż tę informację Google. W przypadku powodzenia konta użytkowników są ograniczone do domeny podanej w danych lub są wstępnie wybrane w tej domenie. Więcej informacji znajdziesz w polu hd w dokumentacji OpenID Connect.
state Opcjonalnie: Niezalecane. Określa dowolną wartość ciągu znaków, której aplikacja używa do zachowania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.
error_callback Opcjonalnie: Funkcja JavaScriptu, która obsługuje niektóre błędy inne niż OAuth, takie jak niemożność otwarcia okna wyskakującego lub zamknięcie przed przesłaniem odpowiedzi OAuth.

Pole „type” parametru wejściowego zawiera szczegółowy powód.
  • popup_failed_to_open Nie udało się otworzyć wyskakującego okienka.
  • popup_closed – wyskakujące okienko jest zamknięte, zanim zwrócona zostanie odpowiedź OAuth.
  • unknown – obiekt zastępczy dla innych błędów.

Typ danych: TokenClient

Klasa ma tylko jedną publiczną metodę requestAccessToken, która uruchamia przepływ interfejsu użytkownika dotyczący tokena OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumenty
overrideConfig OverridableTokenClientConfig Opcjonalnie: Konfiguracje, które mają zostać zastąpione za pomocą tej metody.

Typ danych: OverridableTokenClientConfig

W tej tabeli podano właściwości typu danych OverridableTokenClientConfig.

Właściwości
scope Opcjonalnie: Oddzielona spacjami lista zakresów, które identyfikują zasoby, do których aplikacja może uzyskać dostęp w imieniu użytkownika. Te wartości określają ekran zgody wyświetlany użytkownikowi przez Google.
include_granted_scopes Opcjonalna, domyślnie true. Umożliwia aplikacjom korzystanie z autoryzacji stopniowej do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i prośba o autoryzację zostanie zaakceptowana, nowy token dostępu będzie obejmował tylko zakresy, o które poprosił scope w tym OverridableTokenClientConfig.
prompt Opcjonalnie: Posortowana alfabetycznie lista promptów oddzielonych spacjami, w których wielkość liter ma znaczenie.
enable_granular_consent Ta opcja jest wycofana i nie ma wpływu na działanie usługi, jeśli jest ustawiona. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule dostęp do szczegółowych uprawnień.
enable_serial_consent Ta opcja jest wycofana i nie ma wpływu na działanie aplikacji, jeśli jest ustawiona. Szczegółowe informacje o zachowaniu zgody znajdziesz w artykule uprawnienia szczegółowe.
login_hint Opcjonalnie: Jeśli aplikacja wie, który użytkownik powinien autoryzować żądanie, może użyć tej właściwości, aby podać Google podpowiedź logowania. Jeśli się powiedzie, pominiesz wybór konta. Adres e-mail lub wartość pola sub w tokenie identyfikacyjnym użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
state Opcjonalnie: Niezalecane. Określa dowolną wartość ciągu znaków, której aplikacja używa do zachowania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.

Typ danych: TokenResponse

Do metody wywołania w interfejsie wyskakującego okienka zostanie przekazany obiekt JavaScript TokenResponse.

W tej tabeli znajdziesz właściwości typu danych TokenResponse.

Właściwości
access_token Token dostępu z odpowiedzi na token.
expires_in Czas aktywności tokena dostępu w sekundach.
hd Hostowana domena, do której należy zalogowany użytkownik.
prompt Wartość prompta wybrana z możliwej listy wartości określonej przez TokenClientConfig lub OverridableTokenClientConfig.
token_type Typ wydanego tokena.
scope Oddzielona spacjami lista zakresów zatwierdzonych przez użytkownika.
state Wartość ciągu znaków, której aplikacja używa do zachowania stanu między żądaniem autoryzacji a odpowiedzią.
error pojedynczy kod błędu ASCII;
error_description Tekst w formacie ASCII, który jest zrozumiały dla człowieka i zawiera dodatkowe informacje, które pomagają deweloperowi klienta zrozumieć, jaki błąd wystąpił.
error_uri Identyfikator URI strony internetowej w czytelnej dla człowieka postaci, na której znajdują się informacje o błędzie. Służy do przekazywania deweloperowi klienta dodatkowych informacji o błędzie.

Metoda: google.accounts.oauth2.hasGrantedAllScopes

Sprawdza, czy użytkownik przyznał wszystkie określone zakresy.

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Argumenty
tokenResponse TokenResponse Wymagany. Obiekt TokenResponse.
firstScope ciąg znaków Wymagany. Zakres sprawdzania.
restScopes string[] Opcjonalnie: Inne zakresy do sprawdzenia.
Zwroty
wartość logiczna Prawda, jeśli wszystkie zakresy zostały przyznane.

Metoda: google.accounts.oauth2.hasGrantedAnyScope

Sprawdza, czy użytkownik przyznał dostęp do dowolnego z wybranych zakresów.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Argumenty
tokenResponse TokenResponse Wymagany. Obiekt TokenResponse.
firstScope ciąg znaków Wymagany. Zakres sprawdzania.
restScopes string[] Opcjonalnie: Inne zakresy do sprawdzenia.
Zwroty
wartość logiczna Prawda, jeśli przyznano dowolny zakres.

Metoda: google.accounts.oauth2.revoke

Metoda revoke powoduje unieważnienie wszystkich zakresów uprawnień przyznanych przez użytkownika aplikacji. Aby cofnąć uprawnienia, musisz mieć prawidłowy token dostępu.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumenty
accessToken ciąg znaków Wymagany. prawidłowy token dostępu.
callback funkcja Opcjonalnie: Obsługa RevocationResponse.

Typ danych: RevocationResponse

Do metody wywołania zwrotnego zostanie przekazany obiekt JavaScript RevocationResponse.

W tej tabeli znajdziesz właściwości typu danych RevocationResponse.

Właściwości
successful Wartość logiczna. true – w przypadku powodzenia, false – w przypadku niepowodzenia.
error Ciąg tekstowy. Niezdefiniowane w przypadku powodzenia. pojedynczy kod błędu ASCII; Obejmuje to między innymi standardowe kody błędów OAuth 2.0. Typowe błędy metody revoke:
  • invalid_token – token wygasł lub został unieważniony przed wywołaniem metody revoke. W większości przypadków można uznać, że grant związany z accessToken został cofnięty.
  • invalid_request – token nie może zostać odwołany. Upewnij się, że accessToken to prawidłowe dane logowania OAuth 2.0 Google.
error_description Ciąg tekstowy. Niezdefiniowane w przypadku powodzenia. Zrozumiały tekst w formacie ASCII zawiera dodatkowe informacje o usługi error. Deweloperzy mogą wykorzystać te informacje, aby lepiej zrozumieć błąd. Ciąg tekstowy error_description jest dostępny tylko w języku angielskim. W przypadku typowych błędów wymienionych w sekcji error odpowiadające im error_description:
  • invalid_token – token wygasł lub został unieważniony.
  • invalid_request – token nie może zostać odwołany.