W tym artykule opisujemy interfejs Google 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 tabeli poniżej znajdziesz listę 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. 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 mają wpływ na ekran zgody wyświetlany przez Google użytkownikowi. |
include_granted_scopes |
Opcjonalnie; domyślna wartość: true . Umożliwia aplikacjom korzystanie z przyrostowej autoryzacji w celu zażą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 te zakresy, do których dostęp scope żądał w tym CodeClientConfig .
|
redirect_uri
|
Wymagane do przekierowania UX. Określa, dokąd serwer interfejsu API przekierowuje użytkownika po zakończeniu procesu autoryzacji. Wartość musi dokładnie odpowiadać jednemu z autoryzowanych identyfikatorów URI przekierowania dla klienta OAuth 2.0, które zostały skonfigurowane w konsoli API i muszą być zgodne z naszymi regułami weryfikacji identyfikatora URI przekierowania. Właściwość będzie ignorowana przez wyskakujące okienko UX. |
callback |
Wymagane do działania w wyskakującym okienku. Funkcja JavaScript, która obsługuje zwrócony kod. Właściwość będzie ignorowana przez przekierowanie UX. |
state |
Opcjonalnie. Zalecane w przypadku przekierowania UX. 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 |
Opcjonalnie; domyślna wartość: true . Jeśli ma wartość false , bardziej szczegółowe uprawnienia do konta Google zostaną wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem. Jeśli ustawisz zarówno wartość enable_granular_consent , jak i enable_serial_consent , obowiązywać będzie tylko wartość enable_granular_consent , a wartość enable_serial_consent będzie ignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze są dla nich włączone bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Użyj interfejsu enable_granular_consent . Działa to tak samo jak w przypadku zasady enable_granular_consent . Istniejące aplikacje korzystające z enable_serial_consent mogą nadal to robić, ale zachęcamy do zaktualizowania kodu, tak aby 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 przekazać 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 aplikacja wie, do której domeny Workspace należy użytkownik, użyj tej funkcji, aby dać Google wskazówkę. Jeśli operacja się uda, konta użytkowników będą ograniczone do podanej domeny lub wstępnie wybrane.
Więcej informacji znajdziesz w polu hd w dokumentacji OpenID Connect.
|
ux_mode |
Opcjonalnie. Tryb UX używany w procesie autoryzacji. Domyślnie proces uzyskiwania zgody zostanie otwarty w wyskakującym okienku. Prawidłowe wartości to popup i redirect .
|
select_account |
Wartość domyślna to „false”. Wartość logiczna zachęcająca użytkownika do wybrania konta. |
error_callback |
Opcjonalnie. Funkcja JavaScript, która obsługuje niektóre błędy niezwiązane z OAuth, na przykład nie udało się otworzyć wyskakującego okienka lub została zamknięta przed zwróceniem odpowiedzi OAuth.
Szczegółowe informacje są podane w polu „type” parametru wejściowego.
|
Typ danych: CodeClient
Klasa ma tylko jeden publiczny kod metody requestCode, który uruchamia proces UX kodu OAuth 2.0.
interface CodeClient {
requestCode(): void;
}
Typ danych: CodeResponse
Obiekt JavaScript CodeResponse
zostanie przekazany do metody callback
w wyskakującym okienku. W interfejsie użytkownika przekierowania parametr CodeResponse
jest przekazywany jako parametry adresu URL.
W tabeli poniżej znajdziesz listę właściwości typu danych CodeResponse
.
Właściwości | |
---|---|
code |
Kod autoryzacji udanej odpowiedzi tokena. |
scope |
Lista rozdzielonych spacjami zakresów, 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 |
Zrozumiały dla człowieka tekst ASCII zawierający dodatkowe informacje ułatwiające programiście zrozumienie zgłoszonego błędu. |
error_uri |
Identyfikator URI identyfikujący czytelną dla człowieka stronę internetową z informacjami o błędzie, używany do przekazania deweloperowi klienta dodatkowych informacji o błędzie. |
Metoda: google.accounts.oauth2.initTokenClient
Metoda initTokenClient
inicjuje i zwraca klienta tokena z konfiguracjami parametru.
google.accounts.oauth2.initTokenClient(config: TokenClientConfig)
Typ danych: TokenClientConfig
W tabeli poniżej znajdziesz listę 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. 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 mają wpływ na ekran zgody wyświetlany przez Google użytkownikowi. |
include_granted_scopes |
Opcjonalnie; domyślna wartość: true . Umożliwia aplikacjom korzystanie z przyrostowej autoryzacji w celu zażą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 te zakresy, do których dostęp scope żądał w tym TokenClientConfig .
|
prompt |
Opcjonalnie: domyślnie 'select_account'. Lista rozdzielanych spacjami promptów dla użytkownika (z uwzględnieniem wielkości liter). Możliwe wartości:
|
enable_granular_consent |
Opcjonalnie; domyślna wartość: true . Jeśli ma wartość false , bardziej szczegółowe uprawnienia do konta Google zostaną wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem. Jeśli ustawisz zarówno wartość enable_granular_consent , jak i enable_serial_consent , obowiązywać będzie tylko wartość enable_granular_consent , a wartość enable_serial_consent będzie ignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze są dla nich włączone bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Użyj interfejsu enable_granular_consent . Działa to tak samo jak w przypadku zasady enable_granular_consent . Istniejące aplikacje korzystające z enable_serial_consent mogą nadal to robić, ale zachęcamy do zaktualizowania kodu, tak aby 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 przekazać 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 aplikacja wie, do której domeny Workspace należy użytkownik, użyj tej funkcji, aby dać Google wskazówkę. Jeśli operacja się uda, konta użytkowników będą ograniczone do podanej domeny lub wstępnie wybrane.
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 JavaScript, która obsługuje niektóre błędy niezwiązane z OAuth, na przykład nie udało się otworzyć wyskakującego okienka lub została zamknięta przed zwróceniem odpowiedzi OAuth.
Szczegółowe informacje są podane w polu „type” parametru wejściowego.
|
Typ danych: TokenClient
Klasa ma tylko jedną publiczną metodę requestAccessToken
, która uruchamia proces UX tokena OAuth 2.0.
interface TokenClient {
requestAccessToken(overrideConfig?: OverridableTokenClientConfig): void;
}
Argumenty | ||
---|---|---|
overrideConfig |
OverridableTokenClientConfig | Opcjonalnie. Konfiguracje, które zostaną zastąpione w tej metodzie. |
Typ danych: OverridableTokenClientConfig
W tabeli poniżej znajdziesz listę właściwości typu danych OverridableTokenClientConfig
.
Właściwości | |
---|---|
scope |
Opcjonalnie. 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ą o ekranie zgody, który Google wyświetla użytkownikowi. |
include_granted_scopes |
Opcjonalnie; domyślna wartość: true . Umożliwia aplikacjom korzystanie z przyrostowej autoryzacji w celu zażą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 te zakresy, do których dostęp scope żądał w tym OverridableTokenClientConfig .
|
prompt |
Opcjonalnie. Lista rozdzielanych spacjami promptów dla użytkownika (z uwzględnieniem wielkości liter). |
enable_granular_consent |
Opcjonalnie; domyślna wartość: true . Jeśli ustawisz wartość false , bardziej szczegółowe uprawnienia konta Google zostaną wyłączone w przypadku identyfikatorów klienta OAuth utworzonych przed 2019 rokiem.Jeśli ustawisz zarówno wartość enable_granular_consent , jak i enable_serial_consent , obowiązywać będzie tylko wartość enable_granular_consent , a wartość enable_serial_consent będzie ignorowana.Nie ma wpływu na nowsze identyfikatory klienta OAuth, ponieważ zawsze są dla nich włączone bardziej szczegółowe uprawnienia. |
enable_serial_consent |
Wycofano. Użyj interfejsu enable_granular_consent . Działa to tak samo jak w przypadku zasady enable_granular_consent . Istniejące aplikacje korzystające z enable_serial_consent mogą nadal to robić, ale zachęcamy do zaktualizowania kodu, tak aby 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 przekazać 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 znaków, której aplikacja używa do zachowania 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 tabeli poniżej znajdziesz listę właściwości typu danych TokenResponse
.
Właściwości | |
---|---|
access_token |
Token dostępu udanej odpowiedzi tokena. |
expires_in |
Czas życia 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 wystawionego tokena. |
scope |
Lista rozdzielonych spacjami zakresów, 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 |
Zrozumiały dla człowieka tekst ASCII zawierający dodatkowe informacje ułatwiające programiście zrozumienie występującego błędu. |
error_uri |
Identyfikator URI identyfikujący czytelną dla człowieka stronę internetową z informacjami o błędzie, używany 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. Obiekt TokenResponse .
|
firstScope |
ciąg znaków | Wymagane. Zakres do sprawdzenia. |
restScopes |
ciąg znaków[] | Opcjonalnie. Inne zakresy do sprawdzenia. |
Akcje powrotne | |
---|---|
boolean | Wartość to „prawda”, jeśli przyznano wszystkie zakresy. |
Metoda: google.accounts.oauth2.hasGrantedAnyScope
Sprawdza, czy użytkownik przyznał dowolny z podanych zakresów.
google.accounts.oauth2.hasGrantedAnyScope(
tokenResponse: TokenResponse,
firstScope: string, ...restScopes: string[]
): boolean;
Argumenty | ||
---|---|---|
tokenResponse |
TokenResponse
|
Wymagane. Obiekt TokenResponse .
|
firstScope |
ciąg znaków | Wymagane. Zakres do sprawdzenia. |
restScopes |
ciąg znaków[] | Opcjonalnie. Inne zakresy do sprawdzenia. |
Akcje powrotne | |
---|---|
boolean | Prawda, jeśli przyznano dowolny z zakresów. |
Metoda: google.accounts.oauth2.revoke
Metoda revoke
anuluje 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. RevocationResponse. |
Typ danych: RevocationResponse
Do metody wywołania zwrotnego zostanie przekazany obiekt JavaScript RevocationResponse
.
W tabeli poniżej znajdziesz listę właściwości typu danych RevocationResponse
.
Właściwości | |
---|---|
successful |
Wartość logiczna. Włączono true , a w przypadku niepowodzenia: false . |
error |
Ciąg tekstowy. Nieokreślony w przypadku sukcesu. Pojedynczy kod błędu ASCII. Obejmuje to między innymi standardowe kody błędów OAuth 2.0. Typowe błędy w przypadku metody revoke :
|
error_description |
Ciąg tekstowy. Nieokreślony w przypadku sukcesu. Zrozumiały dla człowieka tekst ASCII zawiera dodatkowe informacje o właściwości error . Dzięki temu deweloperzy mogą dowiedzieć się więcej o tym, na czym wystąpił błąd. Ciąg error_description jest dostępny tylko w języku angielskim.
W przypadku typowych błędów wymienionych w zasadzie error użyj odpowiedniego atrybutu error_description :
|