Beschreibung
Verwenden Sie die chrome.identity
API, um OAuth2-Zugriffstokens abzurufen.
Berechtigungen
identity
Typen
AccountInfo
Attribute
-
id
String
Eine eindeutige Kennung für das Konto. Diese ID ändert sich für die gesamte Lebensdauer des Kontos nicht.
AccountStatus
Enum
"SYNC"
Gibt an, dass die Synchronisierung für das primäre Konto aktiviert ist.
"ANY"
Gibt an, dass ein primäres Konto vorhanden ist, falls vorhanden.
GetAuthTokenResult
Attribute
-
grantedScopes
string[] optional
Eine Liste der OAuth2-Bereiche, die der Erweiterung gewährt wurden.
-
Token
String optional
Das spezifische Token, das der Anfrage zugeordnet ist.
InvalidTokenDetails
Attribute
-
Token
String
Das spezifische Token, das aus dem Cache entfernt werden soll.
ProfileDetails
Attribute
-
accountStatus
AccountStatus optional
Der Status des primären Kontos, das in einem Profil angemeldet ist, dessen
ProfileUserInfo
zurückgegeben werden soll. Die Standardeinstellung ist der KontostatusSYNC
.
ProfileUserInfo
Attribute
-
E-Mail
String
Eine E-Mail-Adresse des Nutzerkontos, das im aktuellen Profil angemeldet ist. Leer, wenn der Nutzer nicht angemeldet ist oder die Manifestberechtigung
identity.email
nicht angegeben ist. -
id
String
Eine eindeutige Kennung für das Konto. Diese ID ändert sich für die gesamte Lebensdauer des Kontos nicht. Leer, wenn der Nutzer nicht angemeldet ist oder in M41 und höher die Manifestberechtigung
identity.email
nicht angegeben ist.
TokenDetails
Attribute
-
Konto
AccountInfo optional
Die Konto-ID, deren Token zurückgegeben werden soll. Wenn nicht angegeben, verwendet die Funktion ein Konto aus dem Chrome-Profil: das Synchronisierungskonto, falls vorhanden, oder das erste Google-Webkonto.
-
enableGranularPermissions
Boolescher Wert optional
Chrome 87 oder höherMit dem Flag
enableGranularPermissions
können Erweiterungen frühzeitig den detaillierten Zustimmungsbildschirm für Berechtigungen aktivieren, in dem angeforderte Berechtigungen einzeln gewährt oder abgelehnt werden. -
interactive
Boolescher Wert optional
Zum Abrufen eines Tokens muss sich der Nutzer möglicherweise in Chrome anmelden oder die angeforderten Bereiche der Anwendung genehmigen. Wenn das interaktive Flag
true
ist, fordertgetAuthToken
den Nutzer bei Bedarf auf. Wenn das Flagfalse
ist oder weggelassen wird, gibtgetAuthToken
jedes Mal einen Fehler zurück, wenn eine Aufforderung erforderlich ist. -
Umfang
string[] optional
Eine Liste der anzufragenden OAuth2-Bereiche.
Wenn das Feld
scopes
vorhanden ist, wird damit die Liste der in „manifest.json“ angegebenen Bereiche überschrieben.
WebAuthFlowDetails
Attribute
-
abortOnLoadForNonInteractive
Boolescher Wert optional
Chrome 113 und höherGibt an, ob
launchWebAuthFlow
für nicht interaktive Anfragen beendet werden soll, nachdem die Seite geladen wurde. Dieser Parameter wirkt sich nicht auf interaktive Abläufe aus.Ist sie auf
true
(Standardeinstellung) gesetzt, wird der Vorgang sofort nach dem Laden der Seite beendet. Wennfalse
festgelegt ist, wird der Ablauf erst beendet, nachdemtimeoutMsForNonInteractive
bestanden wurde. Dies ist nützlich für Identitätsanbieter, die Weiterleitungen mithilfe von JavaScript ausführen, nachdem die Seite geladen wurde. -
interactive
Boolescher Wert optional
Gibt an, ob der Autorisierungsablauf im interaktiven Modus gestartet werden soll.
Da bei einigen Authentifizierungsabläufen möglicherweise sofort eine Weiterleitung zu einer Ergebnis-URL erfolgt, blendet
launchWebAuthFlow
die Webansicht aus, bis die erste Navigation entweder zur finalen URL weiterleitet oder das Laden der gewünschten Seite abgeschlossen hat.Wenn das Flag
interactive
auftrue
gesetzt ist, wird das Fenster angezeigt, wenn der Seitenaufbau abgeschlossen ist. Wenn das Flagfalse
ist oder weggelassen wird, gibtlaunchWebAuthFlow
einen Fehler zurück, wenn die erste Navigation den Ablauf nicht beendet.Bei Abläufen, bei denen für die Weiterleitung JavaScript verwendet wird, kann
abortOnLoadForNonInteractive
auffalse
gesetzt und gleichzeitigtimeoutMsForNonInteractive
konfiguriert werden, damit die Seite weitergeleitet werden kann. -
timeoutMsForNonInteractive
Nummer optional
Chrome 113 und höherDie maximale Zeit in Millisekunden, die
launchWebAuthFlow
insgesamt im nicht interaktiven Modus ausgeführt werden darf. Hat nur Auswirkungen, wenninteractive
den Wertfalse
hat. -
url
String
Die URL, die den Autorisierungsvorgang initiiert.
Methoden
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
Setzt den Status der Identity API zurück:
- Entfernt alle OAuth2-Zugriffstokens aus dem Token-Cache.
- Die Kontoeinstellungen des Nutzers werden entfernt.
- Autorisierung des Nutzers für alle Authentifizierungsabläufe aufgehoben
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 106 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
Ruft eine Liste von AccountInfo-Objekten ab, die die im Profil vorhandenen Konten beschreiben.
getAccounts
wird nur in der Entwicklerversion unterstützt.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(accounts: AccountInfo[]) => void
-
Konten
-
Rückgabe
-
Promise<AccountInfo[]>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
Ruft ein OAuth2-Zugriffstoken mit der Client-ID und den Bereichen ab, die im Abschnitt oauth2
der Datei „manifest.json“ angegeben sind.
Die Identity API speichert Zugriffstokens im Cache. Daher können Sie getAuthToken
jedes Mal, wenn ein Token benötigt wird, nicht interaktiv aufrufen. Der Token-Cache übernimmt den Ablauf automatisch.
Für eine gute Nutzererfahrung ist es wichtig, dass interaktive Tokenanfragen über die UI in Ihrer App initiiert werden, um den Zweck der Autorisierung zu erklären. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen oder sehen sich Anmeldebildschirme in Chrome an, wenn sie nicht angemeldet sind und keinen Kontext haben. Verwende getAuthToken
vor allem nicht interaktiv, wenn deine App zum ersten Mal eingeführt wird.
Hinweis: Wenn sie mit einem Callback aufgerufen wird, gibt diese Funktion nicht ein Objekt zurück, sondern gibt die beiden Eigenschaften als separate Argumente zurück, die an den Callback übergeben werden.
Parameter
-
Details
TokenDetails optional
Tokenoptionen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: GetAuthTokenResult) => void
-
ErgebnisChrome 105 oder höher
-
Rückgabe
-
Promise<GetAuthTokenResult>
Chrome 105 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
Ruft die E-Mail-Adresse und die verschleierte GAIA-ID des in einem Profil angemeldeten Nutzers ab.
Erfordert die Manifestberechtigung „identity.email
“. Andernfalls wird ein leeres Ergebnis zurückgegeben.
Diese API unterscheidet sich in zweierlei Hinsicht von „identity.getAccount“. Die zurückgegebenen Informationen sind offline verfügbar und gelten nur für das primäre Konto für das Profil.
Parameter
-
Details
ProfileDetails optional
Chrome 84 und höherProfiloptionen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(userInfo: ProfileUserInfo) => void
-
userInfo
-
Rückgabe
-
Promise<ProfileUserInfo>
Chrome 106 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
)
Generiert eine Weiterleitungs-URL zur Verwendung in launchWebAuthFlow
.
Die generierten URLs entsprechen dem Muster https://<app-id>.chromiumapp.org/*
.
Parameter
-
Pfad
String optional
Der Pfad, der an das Ende der generierten URL angehängt wird.
Rückgabe
-
String
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
Startet einen Autorisierungsvorgang unter der angegebenen URL.
Diese Methode ermöglicht Authentifizierungsabläufe mit Identitätsanbietern, die nicht von Google stammen, indem eine Webansicht gestartet und zur ersten URL im Authentifizierungsvorgang des Anbieters gewechselt wird. Wenn der Anbieter auf eine URL weiterleitet, die dem Muster https://<app-id>.chromiumapp.org/*
entspricht, wird das Fenster geschlossen und die finale Weiterleitungs-URL wird an die Funktion callback
übergeben.
Für eine gute Nutzererfahrung ist es wichtig, dass die interaktiven Authentifizierungsabläufe über die UI in Ihrer App initiiert werden, um den Zweck der Autorisierung zu erklären. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen ohne Kontext. Starten Sie insbesondere beim ersten Start Ihrer App keinen interaktiven Authentifizierungsablauf.
Parameter
-
Details
Optionen für den WebAuth-Vorgang.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(responseUrl?: string) => void
-
responseUrl
String optional
-
Rückgabe
-
Promise<string | undefined>
Chrome 106 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
Entfernt ein OAuth2-Zugriffstoken aus dem Token-Cache der Identity API.
Wenn ein Zugriffstoken als ungültig erkannt wird, sollte es an removeCachedAuthToken übergeben werden, um es aus dem Cache zu entfernen. Die App kann dann mit getAuthToken
ein neues Token abrufen.
Parameter
-
Details
Tokeninformationen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 106 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
Veranstaltungen
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn sich der Anmeldestatus für ein Konto im Profil des Nutzers ändert
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(account: AccountInfo, signedIn: boolean) => void
-
Konto
-
signedIn
boolean
-