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ę.
|
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:
|
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ę.
|
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. |