refresh date: 2026-09-25 robots: noindex
Opis
Użyj interfejsu chrome.identity API, aby uzyskać tokeny dostępu OAuth2.
Uprawnienia
identityTypy
AccountInfo
Właściwości
-
id
tekst
Unikalny identyfikator konta. Ten identyfikator nie zmieni się przez cały okres istnienia konta.
AccountStatus
Typ wyliczeniowy
„SYNC”
Określa, że synchronizacja jest włączona na koncie głównym.
„ANY”
Określa, czy istnieje konto główne.
GetAuthTokenResult
Właściwości
-
grantedScopes
string[] opcjonalnie
Lista zakresów protokołu OAuth2 przyznanych rozszerzeniu.
-
token
ciąg znaków opcjonalny
Konkretny token powiązany z żądaniem.
InvalidTokenDetails
Właściwości
-
token
tekst
Konkretny token, który należy usunąć z pamięci podręcznej.
ProfileDetails
Właściwości
-
accountStatus
AccountStatus opcjonalny
Stan głównego konta zalogowanego w profilu, którego
ProfileUserInfoma zostać zwrócony. Domyślnie jest to stan kontaSYNC.
ProfileUserInfo
Właściwości
-
e-mail
tekst
Adres e-mail konta użytkownika zalogowanego w bieżącym profilu. Puste, jeśli użytkownik nie jest zalogowany lub nie określono uprawnienia
identity.emailw pliku manifestu. -
id
tekst
Unikalny identyfikator konta. Ten identyfikator nie zmieni się przez cały okres istnienia konta. Puste, jeśli użytkownik nie jest zalogowany lub (w przypadku M41+) nie określono uprawnienia
identity.emailw pliku manifestu.
TokenDetails
Właściwości
-
konto
AccountInfo opcjonalny
Identyfikator konta, dla którego ma zostać zwrócony token. Jeśli nie zostanie podane, funkcja użyje konta z profilu Chrome: konta synchronizacji, jeśli takie istnieje, lub pierwszego konta Google w internecie.
-
enableGranularPermissions
wartość logiczna opcjonalna
Chrome 87 lub nowszaFlaga
enableGranularPermissionsumożliwia rozszerzeniom wcześniejsze włączenie ekranu zgody na szczegółowe uprawnienia, na którym żądane uprawnienia są przyznawane lub odrzucane indywidualnie. -
interaktywny
wartość logiczna opcjonalna
Pobranie tokena może wymagać zalogowania się użytkownika w Chrome lub zatwierdzenia zakresów żądanych przez aplikację. Jeśli flaga interaktywności ma wartość
true, usługagetAuthTokenwyświetli użytkownikowi odpowiedni komunikat. Gdy flaga ma wartośćfalselub jest pominięta, funkcjagetAuthTokenzwraca błąd za każdym razem, gdy wymagany jest prompt. -
zakresy
string[] opcjonalnie
Lista zakresów OAuth 2.0, o które należy poprosić.
Jeśli pole
scopesjest obecne, zastępuje listę zakresów podaną w pliku manifest.json.
WebAuthFlowDetails
Właściwości
-
abortOnLoadForNonInteractive
wartość logiczna opcjonalna
Chrome 113 lub nowszaOkreśla, czy po wczytaniu strony należy zakończyć działanie
launchWebAuthFloww przypadku żądań nieinteraktywnych. Ten parametr nie ma wpływu na interaktywne procesy.Gdy ta opcja jest ustawiona na
true(domyślnie), przepływ zakończy się natychmiast po wczytaniu strony. Jeśli to ustawienie ma wartośćfalse, proces zakończy się dopiero po upłynięciutimeoutMsForNonInteractive. Jest to przydatne w przypadku dostawców tożsamości, którzy używają JavaScriptu do przekierowywania po wczytaniu strony. -
interaktywny
wartość logiczna opcjonalna
Określa, czy proces autoryzacji ma być uruchamiany w trybie interaktywnym.
Ponieważ niektóre procesy uwierzytelniania mogą od razu przekierowywać do adresu URL wyniku,
launchWebAuthFlowukrywa widok internetowy do momentu, gdy pierwsze przekierowanie nastąpi do końcowego adresu URL lub gdy zakończy się wczytywanie strony, która ma być wyświetlana.Jeśli flaga
interactivema wartośćtrue, okno będzie wyświetlane po zakończeniu wczytywania strony. Jeśli flaga ma wartośćfalselub jest pominięta, funkcjalaunchWebAuthFlowzwróci błąd, jeśli początkowa nawigacja nie zakończy przepływu.W przypadku przepływów, które do przekierowania używają JavaScriptu, wartość parametru
abortOnLoadForNonInteractivemożna ustawić nafalsew połączeniu z ustawieniem parametrutimeoutMsForNonInteractive, aby umożliwić stronie wykonanie przekierowań. -
timeoutMsForNonInteractive
number opcjonalny
Chrome 113 lub nowszaMaksymalny łączny czas (w milisekundach), przez jaki
launchWebAuthFlowmoże działać w trybie nieinteraktywnym. Działa tylko wtedy, gdy zasadainteractivema wartośćfalse. -
URL
tekst
Adres URL, który rozpoczyna proces autoryzacji.
Metody
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
Resetuje stan interfejsu Identity API:
- Usuwa z pamięci podręcznej tokenów wszystkie tokeny dostępu OAuth2.
- Usuwa ustawienia konta użytkownika
- Cofanie autoryzacji użytkownika we wszystkich procesach uwierzytelniania
Parametry
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 106 lub nowszaZwraca obiekt Promise, który zostanie spełniony po wyczyszczeniu stanu.
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
Pobiera listę obiektów AccountInfo opisujących konta w profilu.
getAccounts jest obsługiwany tylko w wersji deweloperskiej.
Parametry
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(accounts: AccountInfo[]) => void
-
konta
-
Zwroty
-
Promise<AccountInfo[]>
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): Promise<GetAuthTokenResult>
Pobiera token dostępu OAuth2, używając identyfikatora klienta i zakresów określonych w sekcji oauth2 pliku manifest.json.
Interfejs Identity API buforuje tokeny dostępu w pamięci, więc można wywoływać getAuthToken w sposób nieinteraktywny za każdym razem, gdy token jest wymagany. Pamięć podręczna tokena automatycznie obsługuje wygaśnięcie.
Aby zapewnić użytkownikom wygodę, ważne jest, aby żądania interaktywnych tokenów były inicjowane przez interfejs w aplikacji, który 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 są zalogowani) bez kontekstu. W szczególności nie używaj funkcji getAuthToken interaktywnie przy pierwszym uruchomieniu aplikacji.
Uwaga: jeśli ta funkcja jest wywoływana z wywołaniem zwrotnym, zamiast zwracać obiekt, zwraca 2 właściwości jako osobne argumenty przekazywane do wywołania zwrotnego.
Parametry
-
szczegóły
TokenDetails opcjonalny
Opcje tokena.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: GetAuthTokenResult) => void
-
wynikChrome 105 lub nowsza
-
Zwroty
-
Promise<GetAuthTokenResult>
Chrome 105 lub nowszaZwraca obiekt Promise, który jest rozwiązywany za pomocą tokena dostępu OAuth2 określonego w pliku manifestu lub odrzucany, jeśli wystąpił błąd. Parametr
grantedScopesjest wypełniany od Chrome 87. Jeśli jest dostępny, ten parametr zawiera listę przyznanych zakresów odpowiadających zwróconemu tokenowi.Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): Promise<ProfileUserInfo>
Pobiera adres e-mail i zaciemniony identyfikator Gaia użytkownika zalogowanego w profilu.
Wymaga uprawnienia identity.email w pliku manifestu. W przeciwnym razie zwraca pusty wynik.
Ten interfejs API różni się od interfejsu identity.getAccounts na 2 sposoby. Zwrócone informacje są dostępne offline i dotyczą tylko konta głównego w profilu.
Parametry
-
szczegóły
ProfileDetails opcjonalnie
Chrome 84 lub nowszaOpcje profilu.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(userInfo: ProfileUserInfo) => void
-
userInfo
-
Zwroty
-
Promise<ProfileUserInfo>
Chrome 106 lub nowszaZwraca obiekt Promise, który jest rozwiązywany za pomocą
ProfileUserInfopodstawowego konta Chrome lub pustego obiektuProfileUserInfo, jeśli konto o podanym identyfikatorzedetailsnie istnieje.Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
Generuje adres URL przekierowania, który ma być używany w 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.
Zwroty
-
tekst
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
): Promise<string | undefined>
Rozpoczyna proces uwierzytelniania pod określonym adresem URL.
Ta metoda umożliwia przepływy uwierzytelniania z użyciem dostawców tożsamości innych niż Google. W tym celu uruchamia widok internetowy i przechodzi do pierwszego adresu URL w przepływie uwierzytelniania dostawcy. Gdy dostawca przekieruje użytkownika na adres URL pasujący do wzorca https://<app-id>.chromiumapp.org/*, okno zostanie zamknięte, a końcowy adres URL przekierowania zostanie przekazany do funkcji callback.
Aby zapewnić użytkownikom wygodę, ważne jest, aby interaktywne procesy uwierzytelniania były inicjowane przez interfejs w aplikacji, który 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 przepływu WebAuth.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(responseUrl?: string) => void
-
responseUrl
ciąg znaków opcjonalny
-
Zwroty
-
Promise<string | undefined>
Chrome 106 lub nowszaZwraca obiekt Promise, który jest rozwiązywany za pomocą adresu URL przekierowanego z powrotem do aplikacji.
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
): Promise<void>
Usuwa token dostępu OAuth2 z pamięci podręcznej tokenów interfejsu Identity API.
Jeśli token dostępu okaże się nieprawidłowy, należy przekazać go do funkcji removeCachedAuthToken, aby usunąć go z pamięci podręcznej. Aplikacja może wtedy pobrać nowy token z parametrem getAuthToken.
Parametry
-
szczegóły
Informacje o tokenie.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 106 lub nowszaZwraca obiekt Promise, który jest rozwiązywany po usunięciu tokena z pamięci podręcznej.
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Wyzwalane, gdy stan logowania konta w profilu użytkownika ulegnie zmianie.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(account: AccountInfo, signedIn: boolean) => void
-
konto
-
signedIn
wartość logiczna
-