Biblioteka JavaScript autoryzacji firm zewnętrznych w witrynach – informacje o interfejsie API

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W tym artykule znajdziesz opis interfejsu Google Cloud 3P Authorization JavaScript Library API, którego możesz używać do wczytywania kodów autoryzacji lub tokenów dostępu od 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 podano właściwości typu danych CodeClientConfig.

Usługi
client_id Wymagany. Identyfikator klienta aplikacji. Tę wartość możesz znaleźć w konsoli API.
scope Wymagany. Lista rozdzielonych spacjami zakresów określających zasoby, do których aplikacja może uzyskiwać dostęp w imieniu użytkownika. Wartości te informują ekran zgody, który Google wyświetla użytkownikowi.
include_granted_scopes Opcjonalnie: domyślna wartość to true. Zezwala aplikacjom na używanie przyrostowej autoryzacji do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i żądanie autoryzacji zostanie przyznane, nowy token dostępu będzie obejmować tylko zakresy, do których scope otrzymał(a) żądanie w tym CodeClientConfig. Uwaga: aby ta zmiana została zastosowana, wartość enable_serial_consent musi być ustawiona na true. W przeciwnym razie initCodeClient ignoruje wartość include_granted_scopes.
redirect_uri Wymagane do UX przekierowania. Określa, gdzie serwer API przekierowuje użytkownika po zakończeniu procesu autoryzacji. Ta wartość musi dokładnie odpowiadać jednemu z autoryzowanych identyfikatorów URI przekierowania klienta OAuth 2.0, który został przez Ciebie skonfigurowany w konsoli API. Musi też być zgodny z naszymi regułami weryfikacji identyfikatora URI przekierowania. Właściwość będzie ignorowana w wyskakującym okienku UX.
callback Wymagane w przypadku UX wyskakującego okienka. Funkcja JavaScript, która obsługuje zwracaną odpowiedź kodu. Właściwość będzie ignorowana przez przekierowanie UX.
state Opcjonalne. Zalecany do UX przekierowania. Określa wartość ciągu, której aplikacja używa do utrzymywania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.
enable_serial_consent Opcjonalnie: domyślna wartość to true. Jeśli zasada ma wartość false, w przypadku klientów utworzonych przed 2019 rokiem bardziej szczegółowe uprawnienia dotyczące konta Google zostaną wyłączone. Nie ma żadnego efektu w przypadku nowszych klientów, ponieważ uprawnienia szczegółowe są zawsze włączone dla tych klientów.
hint Opcjonalne. Jeśli aplikacja wie, kto powinien autoryzować żądanie, może użyć tej właściwości, by przekazać Google wskazówkę. Adres e-mail użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentach OpenID Connect.
hosted_domain Opcjonalne. Jeśli Twoja aplikacja zna domenę Workspace, do której należy użytkownik, skorzystaj z tej opcji, aby przekazać Google wskazówkę. Więcej informacji znajdziesz w polu hd w dokumentach OpenID Connect.
ux_mode Opcjonalne. Tryb UX używany podczas autoryzacji. Domyślnie będzie on uruchamiany w wyskakującym okienku. Prawidłowe wartości to popup i redirect.
select_account Opcjonalnie ma wartość 'false'. Wartość logiczna, która wskazuje użytkownikowi prośbę o wybranie konta.
error_callback Opcjonalne. Funkcja JavaScript, która obsługuje niektóre błędy braku protokołu OAuth, na przykład nie można otworzyć wyskakującego okienka lub zostało zamknięte przed zwróceniem odpowiedzi OAuth.

Pole „type” parametru wejściowego zawiera szczegółową przyczynę.
  • popup_failed_to_open – nie udało się otworzyć wyskakującego okienka.
  • popup_closed Wyskakujące okienko jest zamykane przed zwróceniem odpowiedzi OAuth.
  • nieznany – obiekt zastępczy w przypadku innych błędów.

Typ danych: CodeClient

Klasa ma tylko jeden publiczny kod requestCode, który uruchamia przepływ UX w systemie OAuth 2.0.

interface CodeClient {
  requestCode(): void;
}

Typ danych: CodeResponse

Obiekt JavaScript CodeResponse zostanie przekazany do metody callback w wyskakującym okienku. W interfejsie przekierowywania CodeResponse jest przekazywany jako parametry adresu URL.

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

Usługi
code Kod autoryzacji udanej odpowiedzi tokena.
scope Lista rozdzielonych spacjami, które zostały zatwierdzone przez użytkownika.
state Wartość ciągu znaków, której aplikacja używa do utrzymywania stanu między żądaniem autoryzacji a odpowiedzią.
error Pojedynczy kod błędu ASCII.
error_description Czytelny dla człowieka tekst ASCII z dodatkowymi informacjami, który ułatwia deweloperowi programu zrozumienie błędu, który wystąpił.
error_uri Identyfikator URI strony wraz z informacjami o błędzie zrozumiały dla człowieka, który służy do przekazania klientowi informacji o błędzie.

Metoda: google.accounts.oauth2.initTokenClient

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

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

Typ danych: TokenClientConfig

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

Usługi
client_id Wymagany. Identyfikator klienta aplikacji. Tę wartość możesz znaleźć w konsoli interfejsu API.
callback Wymagany. Funkcja JavaScript, która obsługuje zwracaną odpowiedź tokena.
scope Wymagany. Lista rozdzielonych spacjami zakresów określających zasoby, do których aplikacja może uzyskiwać dostęp w imieniu użytkownika. Wartości te informują ekran zgody, który Google wyświetla użytkownikowi.
include_granted_scopes Opcjonalnie: domyślna wartość to true. Zezwala aplikacjom na używanie przyrostowej autoryzacji do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i żądanie autoryzacji zostanie przyznane, nowy token dostępu będzie obejmować tylko zakresy, do których scope otrzymał(a) żądanie w tym TokenClientConfig. Uwaga: aby ta zmiana została zastosowana, wartość enable_serial_consent musi być ustawiona na true. W przeciwnym razie initTokenClient ignoruje wartość include_granted_scopes.
prompt Opcjonalnie: domyślne ustawienie to 'select_account'. Lista rozdzielonych spacjami, w której podawane są informacje o użytkowniku. Możliwe wartości:
  • Pusty ciąg – użytkownik zostanie poproszony tylko wtedy, gdy po raz pierwszy poprosi o dostęp do Twojej aplikacji. Nie można go podać z innymi wartościami.
  • 'none' – nie wyświetlaj żadnych ekranów uwierzytelniania ani ekranów zgody. Nie można określać innych wartości.
  • 'consent' Pytaj użytkownika o zgodę.
  • 'select_account' Poprosić użytkownika o wybór konta.
enable_serial_consent Opcjonalnie: domyślna wartość to true. Jeśli zasada ma wartość false, w przypadku klientów utworzonych przed 2019 rokiem bardziej szczegółowe uprawnienia dotyczące konta Google zostaną wyłączone. Nie ma żadnego efektu w przypadku nowszych klientów, ponieważ uprawnienia szczegółowe są zawsze włączone dla tych klientów.
hint Opcjonalne. Jeśli aplikacja wie, kto powinien autoryzować żądanie, może użyć tej właściwości, by przekazać Google wskazówkę. Adres e-mail użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentach OpenID Connect.
hosted_domain Opcjonalne. Jeśli Twoja aplikacja zna domenę Workspace, do której należy użytkownik, skorzystaj z tej opcji, aby przekazać Google wskazówkę. Więcej informacji znajdziesz w polu hd w dokumentach OpenID Connect.
state Opcjonalne. Niezalecane. Określa wartość ciągu, której aplikacja używa do utrzymywania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.
error_callback Opcjonalne. Funkcja JavaScript, która obsługuje niektóre błędy braku protokołu OAuth, na przykład nie można otworzyć wyskakującego okienka lub zostało zamknięte przed zwróceniem odpowiedzi OAuth.

Pole „type” parametru wejściowego zawiera szczegółową przyczynę.
  • popup_failed_to_open – nie udało się otworzyć wyskakującego okienka.
  • popup_closed Wyskakujące okienko jest zamykane przed zwróceniem odpowiedzi OAuth.
  • nieznany – obiekt zastępczy w przypadku innych błędów.

Typ danych: TokenClient

Klasa ma tylko jedną metodę publiczną requestAccessToken, która rozpoczyna proces UX tokena OAuth 2.0.

interface TokenClient {
  requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumenty
overrideConfig Zastąpiona konfiguracja tokena klienta Opcjonalne. Konfiguracje, które mają zostać zastąpione w tej metodzie.

Typ danych: OverridableTokenClientConfig

W tabeli poniżej znajdziesz właściwości typu danych OverridableTokenClientConfig.

Usługi
scope Opcjonalne. Lista rozdzielonych spacjami zakresów identyfikujących zasoby, do których aplikacja może uzyskiwać dostęp w imieniu użytkownika. Wartości te informują ekran zgody, który Google wyświetla użytkownikowi.
include_granted_scopes Opcjonalnie: domyślna wartość to true. Zezwala aplikacjom na używanie przyrostowej autoryzacji do żądania dostępu do dodatkowych zakresów w kontekście. Jeśli ustawisz wartość tego parametru na false i żądanie autoryzacji zostanie przyznane, nowy token dostępu będzie obejmować tylko zakresy, do których scope otrzymał(a) żądanie w tym OverridableTokenClientConfig. Uwaga: aby ta zmiana została zastosowana, wartość enable_serial_consent musi być ustawiona na true. W przeciwnym razie requestAccessToken ignoruje wartość include_granted_scopes.
prompt Opcjonalne. Lista rozdzielonych spacjami (z rozróżnianiem wielkości liter) pytań, które mają zostać przedstawione użytkownikowi.
enable_serial_consent Opcjonalne. Jeśli zasada ma wartość false, w przypadku klientów utworzonych przed 2019 rokiem bardziej szczegółowe uprawnienia dotyczące konta Google zostaną wyłączone. Nie ma żadnego efektu w przypadku nowszych klientów, ponieważ uprawnienia szczegółowe są zawsze włączone dla tych klientów.
hint Opcjonalne. Jeśli aplikacja wie, kto powinien autoryzować żądanie, może użyć tej właściwości, by przekazać Google wskazówkę. Adres e-mail użytkownika docelowego. Więcej informacji znajdziesz w polu login_hint w dokumentach OpenID Connect.
state Opcjonalne. Niezalecane. Określa wartość ciągu, której aplikacja używa do utrzymywania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji.

Typ danych: TokenResponse

Obiekt JavaScript TokenResponse zostanie przekazany do metody wywołania zwrotnego w wyskakującym okienku.

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

Usługi
access_token Token dostępu do odpowiedzi z tokenem.
expires_in Czas życia tokena dostępu (w sekundach).
hd Domena hostowana, do której należy zalogowany użytkownik.
prompt Wartość komunikatu, która została użyta z możliwej listy wartości określonych przez TokenClientConfig lub OverridableTokenClientConfig.
token_type Typ wydanego tokena.
scope Lista rozdzielonych spacjami, które zostały zatwierdzone przez użytkownika.
state Wartość ciągu znaków, której aplikacja używa do utrzymywania stanu między żądaniem autoryzacji a odpowiedzią.
error Pojedynczy kod błędu ASCII.
error_description Czytelny dla człowieka tekst ASCII z dodatkowymi informacjami, który ułatwia deweloperowi programu zrozumienie błędu, który wystąpił.
error_uri Identyfikator URI strony wraz z informacjami o błędzie zrozumiały dla człowieka, który służy do przekazania klientowi informacji o błędzie.

Metoda: google.accounts.oauth2.hasGrantedAllScopes

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

google.accounts.oauth2.hasGrantedAllScopes(
                                            tokenResponse: TokenResponse,
                                            firstScope: string, ...restScopes: string[]
                                          ): boolean;
Argumenty
tokenResponse TokenResponse Wymagany. Obiekt TokenResponse.
firstScope tekst Wymagany. Zakres do sprawdzenia.
restScopes ciąg znaków[] Opcjonalne. Inne zakresy do sprawdzenia.
Zwraca
wartość logiczna Wartość to „prawda”, jeśli zostały przyznane wszystkie zakresy.

Metoda: google.accounts.oauth2.hasGrantedANYScope

Sprawdza, czy użytkownik przyznał dostęp do dowolnego z określonych zakresów lub zakresów.

google.accounts.oauth2.hasGrantedAnyScope(
                                           tokenResponse: TokenResponse,
                                           firstScope: string, ...restScopes: string[]
                                         ): boolean;
Argumenty
tokenResponse TokenResponse Wymagany. Obiekt TokenResponse.
firstScope tekst Wymagany. Zakres do sprawdzenia.
restScopes ciąg znaków[] Opcjonalne. Inne zakresy do sprawdzenia.
Zwraca
wartość logiczna Wartość to „prawda”, jeśli którykolwiek z zakresów został przyznany.

Metoda: google.accounts.oauth2.revoke

Metoda revoke unieważnia wszystkie zakresy przyznane użytkownikowi przez aplikację. Do unieważnienia uprawnień wymagany jest prawidłowy token dostępu.

google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumenty
accessToken tekst Wymagany. Prawidłowy token dostępu.
done funkcja Opcjonalne. Funkcja wywołania zwrotnego po wykonaniu czynności unieważniania.