W tym artykule opisaliśmy interfejs Google 3P Authorization JavaScript Library API. który może służyć do wczytywania kodów autoryzacji lub tokenów dostępu od Google.
Metoda: google.accounts.oauth2.initCodeClient
Metoda initCodeClient
inicjuje i zwraca klienta kodu, ze znakiem
konfiguracji w parametrze.
google.accounts.oauth2.initCodeClient(config: CodeClientConfig)
Typ danych: CodeClientConfig
W tabeli poniżej znajdziesz właściwości typu danych CodeClientConfig
.
Właściwości | |
---|---|
client_id
|
Wymagane. Identyfikator klienta aplikacji. Tę wartość znajdziesz w konsoli interfejsów API. |
scope
|
Wymagane. Rozdzielona spacjami lista zakresów identyfikujących zasoby, do których aplikacja mogła uzyskiwać dostęp w imieniu użytkownika. Wartości te informują o ekranie zgody, który Google wyświetla użytkownikowi. |
include_granted_scopes |
Opcjonalna (domyślnie true ). Umożliwia aplikacjom korzystanie z przyrostu wartości
mogą prosić o dostęp do dodatkowych zakresów w kontekście. Jeśli ustawisz
wartość tego parametru na false i żądanie autoryzacji zostało wysłane,
nowy token dostępu będzie obejmować tylko te zakresy, do których zażądano dostępu scope
w tym okresie: CodeClientConfig .
|
redirect_uri
|
Wymagane na potrzeby przekierowania UX. Określa, dokąd serwer interfejsu API przekierowuje użytkownika po zakończeniu procesu autoryzacji przez użytkownika. Wartość musi dokładnie odpowiadać jednemu z autoryzowanych identyfikatorów URI przekierowania klienta OAuth 2.0, które zostały skonfigurowane w konsoli API. Musi być też zgodna z regułami weryfikacji identyfikatora URI przekierowania. Właściwość zostanie zignorowana przez wyskakujące okienko UX. |
callback |
Wymagane dla UX wyskakującego okienka. Funkcja JavaScript, która obsługuje zwróconą odpowiedź kodu. Właściwość zostanie zignorowana przez UX przekierowania. |
state |
Opcjonalnie: Zalecane w przypadku przekierowania UX. Określa dowolną wartość ciągu, której aplikacja używa do utrzymania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji. |
enable_granular_consent |
Opcjonalna (domyślnie true ). Jeśli ustawisz wartość false , będziesz mieć bardziej szczegółowe uprawnienia konta Google.
został wyłączony w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem. Jeśli skonfigurowane są zarówno enable_granular_consent , jak i enable_serial_consent , tylko enable_granular_consent
zostałaby zastosowana, a wartość enable_serial_consent zostanie zignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze włączone są dla nich bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Zamiast niego użyj parametru enable_granular_consent . Ten
ma taki sam efekt jak enable_granular_consent . Istniejące aplikacje
użytkownicy korzystający z usługi enable_serial_consent mogą nadal to robić, ale są
warto zaktualizować kod tak, aby używać w nim elementu enable_granular_consent
przy następnej aktualizacji aplikacji.
|
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 wskazówkę dotyczącą logowania. Jeśli operacja się uda, wybór konta zostanie pominięty. Wartość pola sub adresu e-mail lub tokena identyfikatora użytkownika docelowego.
Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
|
hd |
Opcjonalnie: Jeśli Twoja aplikacja wie, do której domeny Workspace należy użytkownik, użyj tego parametru, aby podać Google wskazówkę. Jeśli proces się powiedzie, konta użytkowników będą ograniczone do podanej domeny lub wstępnie wybrane dla tej domeny.
Więcej informacji znajdziesz w polu hd w dokumentacji OpenID Connect.
|
ux_mode |
Opcjonalnie: Tryb UX, który ma być używany w procesie autoryzacji. Domyślnie wyświetli się wyskakujące okienko z prośbą o zgodę na wykorzystanie danych. Prawidłowe wartości to popup i redirect .
|
select_account |
Opcjonalna, domyślnie przyjmuje wartość 'false'. Wartość logiczna zachęcająca użytkownika do wybrania konta. |
error_callback |
Opcjonalnie: Funkcja JavaScript, która obsługuje niektóre błędy inne niż OAuth, takie jak
nie udało się otworzyć wyskakującego okienka; lub zamknięta, zanim odpowiedź OAuth zostanie
.
Pole „type” parametru wejściowego zawiera szczegółowy powód.
|
Typ danych: CodeClient
Klasa ma tylko jedną publiczną metodę requestCode, która uruchamia protokół OAuth 2.0 Proces UX kodu.
interface CodeClient {
requestCode(): void;
}
Typ danych: CodeResponse
Obiekt JavaScript CodeResponse
zostanie przekazany do metody callback
w
UX. W interfejsie przekierowania parametr CodeResponse
zostanie przekazany jako adres URL
.
W tabeli poniżej znajdziesz właściwości typu danych CodeResponse
.
Właściwości | |
---|---|
code |
Kod autoryzacji udanej odpowiedzi tokena. |
scope |
Rozdzielona spacjami lista zakresów zatwierdzonych 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 |
Zrozumiały dla człowieka tekst ASCII zawierający dodatkowe informacje ułatwiające deweloperowi klienta zrozumienie błędu. |
error_uri |
Identyfikator URI określający czytelną dla człowieka stronę internetową z informacjami o błędzie, który służy do przekazania deweloperowi klienta dodatkowych informacji o błędzie. |
Metoda: google.accounts.oauth2.initTokenClient
Metoda initTokenClient
inicjuje i zwraca klienta tokena z
konfiguracji w parametrze.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Typ danych: TokenClientConfig
W tabeli poniżej znajdziesz właściwości typu danych TokenClientConfig
.
Właściwości | |
---|---|
client_id |
Wymagane. Identyfikator klienta aplikacji. Tę wartość znajdziesz w konsoli interfejsów API. |
callback |
Wymagane. Funkcja JavaScript, która obsługuje zwróconą odpowiedź tokena. |
scope |
Wymagane. Rozdzielona spacjami lista zakresów identyfikujących zasoby, do których aplikacja mogła uzyskiwać dostęp w imieniu użytkownika. Wartości te informują o ekranie zgody, który Google wyświetla użytkownikowi. |
include_granted_scopes |
Opcjonalna (domyślnie true ). Umożliwia aplikacjom korzystanie z przyrostu wartości
mogą prosić o dostęp do dodatkowych zakresów w kontekście. Jeśli ustawisz
wartość tego parametru na false i żądanie autoryzacji zostało wysłane,
nowy token dostępu będzie obejmować tylko te zakresy, do których zażądano dostępu scope
w tym okresie: TokenClientConfig .
|
prompt |
Opcjonalna (domyślnie 'select_account'). Plik rozdzielany spacjami
lista promptów, które mają zostać zaprezentowane użytkownikowi (z uwzględnieniem wielkości liter). Możliwe wartości to:
|
enable_granular_consent |
Opcjonalna (domyślnie true ). Jeśli ustawisz wartość false , będziesz mieć bardziej szczegółowe uprawnienia konta Google.
został wyłączony w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem. Jeśli skonfigurowane są zarówno enable_granular_consent , jak i enable_serial_consent , tylko enable_granular_consent
zostałaby zastosowana, a wartość enable_serial_consent zostanie zignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze włączone są dla nich bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Zamiast niego użyj parametru enable_granular_consent . Ten
ma taki sam efekt jak enable_granular_consent . Istniejące aplikacje
użytkownicy korzystający z usługi enable_serial_consent mogą nadal to robić, ale są
warto zaktualizować kod tak, aby używać w nim elementu enable_granular_consent
przy następnej aktualizacji aplikacji.
|
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 wskazówkę dotyczącą logowania. Jeśli operacja się uda, wybór konta zostanie pominięty. Wartość pola sub adresu e-mail lub tokena identyfikatora użytkownika docelowego.
Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
|
hd |
Opcjonalnie: Jeśli Twoja aplikacja wie, do której domeny Workspace należy użytkownik, użyj tego parametru, aby podać Google wskazówkę. Jeśli proces się powiedzie, konta użytkowników będą ograniczone do podanej domeny lub wstępnie wybrane dla tej domeny.
Więcej informacji znajdziesz w polu hd w dokumentacji OpenID Connect.
|
state |
Opcjonalnie: Niezalecane. Określa dowolną wartość ciągu, której aplikacja używa do utrzymania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji. |
error_callback |
Opcjonalnie: Funkcja JavaScript, która obsługuje niektóre błędy inne niż OAuth, takie jak
nie udało się otworzyć wyskakującego okienka; lub zamknięta, zanim odpowiedź OAuth zostanie
.
Pole „type” parametru wejściowego zawiera szczegółowy powód.
|
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 |
OverridableTokenClientConfig | Opcjonalnie: Konfiguracje, które mają zostać zastąpione w tej metodzie. |
Typ danych: OverridableTokenClientConfig
W poniższej tabeli podano właściwości obiektu OverridableTokenClientConfig
typu danych.
Właściwości | |
---|---|
scope |
Opcjonalnie: Rozdzielona spacjami lista zakresów identyfikujących zasoby do których aplikacja może uzyskać dostęp w imieniu użytkownika. Wartości te przekazują informacje na ekranie zgody wyświetlanym użytkownikowi przez Google. |
include_granted_scopes |
Opcjonalna (domyślnie true ). Umożliwia aplikacjom korzystanie z przyrostu wartości
mogą prosić o dostęp do dodatkowych zakresów w kontekście. Jeśli ustawisz
wartość tego parametru na false i żądanie autoryzacji zostało wysłane,
nowy token dostępu będzie obejmować tylko te zakresy, do których zażądano dostępu scope
w tym okresie: OverridableTokenClientConfig .
|
prompt |
Opcjonalnie: Rozdzielona spacjami lista promptów, które mają zostać zaprezentowane użytkownikowi. Wielkość liter ma znaczenie. |
enable_granular_consent |
Opcjonalna (domyślnie true ). Jeśli ustawisz wartość false , będziesz mieć bardziej szczegółowe uprawnienia konta Google.
zostanie wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem.Jeśli ustawiono zarówno enable_granular_consent , jak i enable_serial_consent , tylko enable_granular_consent
zacznie obowiązywać, a wartość enable_serial_consent będzie ignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze włączone są dla nich bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Zamiast niego użyj parametru enable_granular_consent . Ten
ma taki sam efekt jak enable_granular_consent . Istniejące aplikacje
użytkownicy korzystający z usługi enable_serial_consent mogą nadal to robić, ale są
warto zaktualizować kod tak, aby używać w nim elementu enable_granular_consent
przy następnej aktualizacji aplikacji.
|
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 wskazówkę dotyczącą logowania. Jeśli operacja się uda, wybór konta zostanie pominięty. Wartość pola sub adresu e-mail lub tokena identyfikatora użytkownika docelowego.
Więcej informacji znajdziesz w polu login_hint w dokumentacji OpenID Connect.
|
state |
Opcjonalnie: Niezalecane. Określa dowolną wartość ciągu, której aplikacja używa do utrzymania stanu między żądaniem autoryzacji a odpowiedzią serwera autoryzacji. |
Typ danych: TokenResponse
Obiekt JavaScript TokenResponse
zostanie przekazany do metody wywołania zwrotnego w
UX.
W tabeli poniżej znajdziesz właściwości typu danych TokenResponse
.
Właściwości | |
---|---|
access_token |
Token dostępu dla pomyślnej odpowiedzi tokena. |
expires_in |
Czas ważności tokena dostępu (w sekundach). |
hd |
Domena hostowana, do której należy zalogowany użytkownik. |
prompt |
Wartość promptu, która została użyta z możliwej listy wartości określonej przez TokenClientConfig lub OverridableTokenClientConfig. |
token_type |
Typ wydanego tokena. |
scope |
Rozdzielona spacjami lista zakresów zatwierdzonych 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 |
Zrozumiały dla człowieka tekst ASCII zawierający dodatkowe informacje ułatwiające deweloperowi klienta zrozumienie, który błąd wystąpił. |
error_uri |
Identyfikator URI określający czytelną dla człowieka stronę internetową z informacjami o błędzie, który służy do przekazania 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
|
Wymagane. TokenResponse
obiektu.
|
firstScope |
ciąg znaków | Wymagane. Zakres do sprawdzenia. |
restScopes |
ciąg znaków[] | Opcjonalnie: Inne zakresy do sprawdzenia. |
Zwroty | |
---|---|
wartość logiczna | Prawda, jeśli przyznano wszystkie zakresy. |
Metoda: google.accounts.oauth2.hasGrantedAnyScope
Sprawdza, czy użytkownik przyznał jeden z podanych zakresów.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumenty | ||
---|---|---|
tokenResponse |
TokenResponse
|
Wymagane. TokenResponse
obiektu.
|
firstScope |
ciąg znaków | Wymagane. Zakres do sprawdzenia. |
restScopes |
ciąg znaków[] | Opcjonalnie: Inne zakresy do sprawdzenia. |
Zwroty | |
---|---|
wartość logiczna | Prawda, jeśli przyznano dowolny zakres. |
Metoda: google.accounts.oauth2.revoke
Metoda revoke
unieważnia wszystkie zakresy, które użytkownik przyznał aplikacji.
Do unieważnienia uprawnień wymagany jest prawidłowy token dostępu.
google.accounts.oauth2.revoke(accessToken: string, done: () => void): void;
Argumenty | ||
---|---|---|
accessToken |
ciąg znaków | Wymagane. Prawidłowy token dostępu. |
callback |
funkcja | Opcjonalnie: Moduł RevocationResponse. |
Typ danych: RevocationResponse
Do metody wywołania zwrotnego zostanie przekazany obiekt JavaScript RevocationResponse
.
W tabeli poniżej znajdziesz właściwości typu danych RevocationResponse
.
Właściwości | |
---|---|
successful |
Wartość logiczna. true – w przypadku niepowodzenia, false – niepowodzenie. |
error |
Ciąg tekstowy. Nieokreślony sukces. Pojedynczy kod błędu ASCII. Obejmuje to m.in. standardową autoryzację OAuth
2.0 – kody błędów. Typowe błędy w przypadku metody revoke :
|
error_description |
Ciąg tekstowy. Nieokreślony sukces. Zrozumiały dla człowieka tekst ASCII zawiera dodatkowe informacje na temat
error . Dzięki nim deweloperzy mogą dowiedzieć się więcej
który wystąpił. Ciąg error_description jest dostępny tylko w języku angielskim.
W przypadku typowych błędów wymienionych w zasadzie error odpowiednie zasady error_description :
|