chrome.identity

Opis

Użyj interfejsu chrome.identity API, aby uzyskać tokeny dostępu OAuth2.

Uprawnienia

identity

Typy

AccountInfo

Właściwości

  • id

    string,

    Unikalny identyfikator konta. Ten identyfikator nie zmienia się przez cały okres istnienia konta.

AccountStatus

Chrome 84 i nowsze wersje

Enum

"SYNC"
Określa, że synchronizacja jest włączona dla konta podstawowego.

„ANY”
Określa istnienie konta podstawowego, jeśli istnieje.

GetAuthTokenResult

Chrome 105 i nowsze wersje

Właściwości

  • grantedScopes

    string[] opcjonalny

    Lista zakresów OAuth2 przyznanych rozszerzeniu.

  • token

    ciąg znaków opcjonalny

    Określony token powiązany z żądaniem.

InvalidTokenDetails

Właściwości

  • token

    string,

    Określony token, który powinien zostać usunięty z pamięci podręcznej.

ProfileDetails

Chrome 84 i nowsze wersje

Właściwości

  • accountStatus

    AccountStatusopcjonalny

    Stan konta głównego zalogowanego w profilu, którego wartość ProfileUserInfo należy zwrócić. Domyślnie stan konta to SYNC.

ProfileUserInfo

Właściwości

  • email

    string,

    Adres e-mail powiązany z kontem użytkownika zalogowanym w bieżącym profilu. Puste, jeśli użytkownik nie jest zalogowany lub nie określono uprawnienia identity.email w pliku manifestu.

  • id

    string,

    Unikalny identyfikator konta. Ten identyfikator nie zmienia się przez cały okres istnienia konta. Puste, jeśli użytkownik nie jest zalogowany lub (w wersji M41 i nowszych) nie określono uprawnienia identity.email w pliku manifestu.

TokenDetails

Właściwości

  • konto

    AccountInfo opcjonalnie

    Identyfikator konta, którego token powinien zostać zwrócony. Jeśli go nie podasz, funkcja będzie używać konta z profilu Chrome: konta synchronizacji (jeśli istnieje) lub pierwszego konta internetowego Google.

  • enableGranularPermissions

    wartość logiczna opcjonalna

    Chrome 87 i nowsze wersje

    Flaga enableGranularPermissions umożliwia rozszerzeniom akceptację na ekranie zgody szczegółowych uprawnień, na którym żądane uprawnienia są przyznawane lub odrzucane pojedynczo.

  • interaktywny

    wartość logiczna opcjonalna

    Pobranie tokena może wymagać od użytkownika zalogowania się w Chrome lub zatwierdzenia żądanych zakresów aplikacji. Jeśli flaga interakcji to true, w razie potrzeby getAuthToken wyświetli użytkownikowi komunikat. Jeśli flaga to false lub zostanie pominięta, getAuthToken zwróci błąd za każdym razem, gdy będzie wymagane podpowiedź.

  • zakresy

    string[] opcjonalny

    Lista zakresów OAuth2, o które możesz poprosić.

    Gdy pole scopes jest obecne, zastępuje ono listę zakresów określonych w pliku manifest.json.

WebAuthFlowDetails

Właściwości

  • abortOnLoadForNonInteractive

    wartość logiczna opcjonalna

    Chrome 113 i nowsze wersje

    Określa, czy po wczytaniu strony zakończyć launchWebAuthFlow w przypadku żądań nieinteraktywnych. Ten parametr nie ma wpływu na interaktywne przepływy.

    Jeśli ustawisz wartość true (domyślnie), przepływ zakończy się natychmiast po wczytaniu strony. Gdy ustawiona jest wartość false, przepływ zakończy się dopiero po przejściu timeoutMsForNonInteractive. Jest to przydatne w przypadku dostawców tożsamości, którzy używają JavaScriptu do wykonywania przekierowań po wczytaniu strony.

  • interaktywny

    wartość logiczna opcjonalna

    Określa, czy uruchamiać przepływ uwierzytelniania w trybie interaktywnym.

    Niektóre procesy uwierzytelniania mogą natychmiast przekierowywać do adresu URL wyniku, dlatego launchWebAuthFlow ukrywa swój widok internetowy do czasu, gdy pierwsza nawigacja przekieruje użytkownika na końcowy adres URL lub zakończy się wczytywanie strony, która ma być wyświetlana.

    Jeśli flaga interactive ma wartość true, okno wyświetli się po zakończeniu wczytywania strony. Jeśli flaga to false lub zostanie pominięta, launchWebAuthFlow zwróci błąd, gdy początkowa nawigacja nie dokończy procesu.

    W przypadku przepływów, które używają JavaScriptu do przekierowywania, atrybut abortOnLoadForNonInteractive może mieć wartość false w połączeniu z ustawieniem timeoutMsForNonInteractive, aby umożliwić stronie wykonanie dowolnych przekierowań.

  • timeoutMsForNonInteractive

    Liczba opcjonalnie

    Chrome 113 i nowsze wersje

    Maksymalny czas działania systemu launchWebAuthFlow (w milisekundach) w trybie nieinteraktywnym. Ma zastosowanie tylko wtedy, gdy interactive ma wartość false.

  • URL

    string,

    Adres URL, który inicjuje proces uwierzytelniania.

Metody

clearAllCachedAuthTokens()

Obietnica Chrome w wersji 87 lub nowszej
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

Resetuje stan interfejsu Identity API:

  • Usuwa wszystkie tokeny dostępu OAuth2 z pamięci podręcznej tokenów
  • Usuwa ustawienia konta użytkownika
  • Cofanie autoryzacji użytkownika we wszystkich procesach uwierzytelniania

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 106 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getAccounts()

Obiecuj Kanał deweloperski
chrome.identity.getAccounts(
  callback?: function,
)

Pobiera listę obiektów AccountInfo opisujących konta znajdujące się w profilu.

Funkcja getAccounts jest obsługiwana tylko w wersji deweloperskiej.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (accounts: AccountInfo[])=>void

Akcje powrotne

  • Promise<AccountInfo[]>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getAuthToken()

Obietnica
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)

Pobiera token dostępu OAuth2, korzystając z identyfikatora klienta i zakresów określonych w sekcji oauth2 w pliku manifest.json.

Identity API zapisuje tokeny dostępu w pamięci podręcznej, więc można wywoływać getAuthToken nieinteraktywnie za każdym razem, gdy potrzebny jest token. Pamięć podręczna tokenów automatycznie obsługuje wygaśnięcie.

Ze względu na wygodę użytkowników ważne jest, aby żądania tokenów były inicjowane przez interfejs użytkownika w aplikacji i wyjaśniać, do czego służy autoryzacja. Jeśli tego nie zrobisz, użytkownicy będą otrzymywać żądania autoryzacji lub ekrany logowania w Chrome, jeśli nie będą zalogowani (bez kontekstu). W szczególności nie używaj getAuthToken w sposób interaktywny przy pierwszym uruchomieniu aplikacji.

Uwaga: w przypadku wywołania zwrotnego zamiast zwrócenia obiektu ta funkcja zwróci 2 właściwości jako osobne argumenty przekazywane do wywołania zwrotnego.

Parametry

Akcje powrotne

  • Chrome 105 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getProfileUserInfo()

Obietnica
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)

Pobiera adres e-mail i zaciemniony identyfikator Gaia użytkownika zalogowanego w profilu.

Wymaga uprawnień identity.email do pliku manifestu. W przeciwnym razie zwraca pusty wynik.

Ten interfejs API różni się od Identity.getAccounts pod dwoma względami. Zwrócone informacje są dostępne offline i mają zastosowanie tylko do głównego konta profilu.

Parametry

Akcje powrotne

  • Chrome 106 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)

Generuje URL przekierowania, który będzie używany w elemencie launchWebAuthFlow.

Wygenerowane adresy URL pasują do wzorca https://<app-id>.chromiumapp.org/*.

Parametry

  • ścieżka

    ciąg znaków opcjonalny

    Ścieżka dołączona na końcu wygenerowanego adresu URL.

Akcje powrotne

  • string,

launchWebAuthFlow()

Obietnica
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)

Rozpoczyna proces uwierzytelniania pod określonym adresem URL.

Ta metoda umożliwia przepływy uwierzytelniania z dostawcami tożsamości innych niż Google przez uruchomienie widoku internetowego i przeniesienie go do pierwszego adresu URL w procesie uwierzytelniania dostawcy. Gdy dostawca wykona przekierowanie na adres URL zgodny ze wzorcem https://<app-id>.chromiumapp.org/*, okno zamknie się, a do funkcji callback zostanie przekazany końcowy adres URL.

Ze względu na wygodę użytkowników ważne jest, aby interaktywne przepływy uwierzytelniania inicjowały interfejs użytkownika w aplikacji i wyjaśniał, do czego służy autoryzacja. Jeśli tego nie zrobisz, użytkownicy będą otrzymywać żądania autoryzacji bez kontekstu. W szczególności nie uruchamiaj interaktywnego procesu uwierzytelniania przy pierwszym uruchomieniu aplikacji.

Parametry

  • szczegóły

    Opcje procesu uwierzytelniania WebAuth.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (responseUrl?: string)=>void

    • responseUrl

      ciąg znaków opcjonalny

Akcje powrotne

  • Obietnica<string|undefined>

    Chrome 106 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

removeCachedAuthToken()

Obietnica
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

Usuwa token dostępu OAuth2 z pamięci podręcznej tokenów interfejsu Identity API.

W przypadku wykrycia nieprawidłowego tokena dostępu należy go przekazać do usunięcia z pamięci podręcznejdAuthToken w celu usunięcia go z pamięci podręcznej. Aplikacja może następnie pobrać nowy token za pomocą getAuthToken.

Parametry

  • szczegóły

    Informacje o tokenie.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 106 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

Wydarzenia

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

Uruchamiane po zmianie stanu logowania na konto w profilu użytkownika.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (account: AccountInfo,signedIn: boolean)=>void