Beschreibung
Verwende 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 Dauer des Bestehens des Kontos nicht.
AccountStatus
Enum
"SYNC"
Gibt an, dass die Synchronisierung für das primäre Konto aktiviert ist.
"ANY"
Gibt an, ob 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
Ein Status des primären Kontos, das bei einem Profil angemeldet ist, dessen
ProfileUserInfo
zurückgegeben werden soll. Die Standardeinstellung ist der Kontostatus „SYNC
“.
ProfileUserInfo
Attribute
-
E-Mail
String
Eine E-Mail-Adresse für das Nutzerkonto, das im aktuellen Profil angemeldet ist. Das Feld 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 Dauer des Bestehens des Kontos nicht. Das Feld ist leer, wenn der Nutzer nicht angemeldet ist oder in M41 und höher die Manifestberechtigung
identity.email
nicht angegeben wurde.
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 (ab Version 87)Mit dem Flag
enableGranularPermissions
können Erweiterungen frühzeitig den detaillierten Zustimmungsbildschirm für Berechtigungen aktivieren, in dem die angeforderten 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
lautet, fordertgetAuthToken
den Nutzer bei Bedarf auf. Wenn das Flag auffalse
gesetzt oder weggelassen wird, gibtgetAuthToken
jedes Mal einen Fehler zurück, wenn eine Eingabeaufforderung erforderlich ist. -
Umfang
string[] optional
Eine Liste der anzufordernden OAuth2-Bereiche.
Wenn das Feld
scopes
vorhanden ist, wird die Liste der Bereiche überschrieben, die in der Datei „manifest.json“ angegeben ist.
WebAuthFlowDetails
Attribute
-
abortOnLoadForNonInteractive
Boolescher Wert optional
Chrome 113 und höherGibt an, ob
launchWebAuthFlow
für nicht interaktive Anfragen nach dem Laden der Seite beendet werden soll. Dieser Parameter wirkt sich nicht auf interaktive Abläufe aus.Wenn
true
(Standardeinstellung) festgelegt ist, wird der Vorgang sofort nach dem Laden der Seite beendet. Wenn dieser Wert auffalse
gesetzt ist, wird der Ablauf erst beendet, wenntimeoutMsForNonInteractive
bestanden wurde. Dies ist nützlich für Identitätsanbieter, die nach dem Laden der Seite Weiterleitungen mit JavaScript ausführen. -
interactive
Boolescher Wert optional
Gibt an, ob der Authentifizierungsvorgang im interaktiven Modus gestartet werden soll.
Da bei einigen Authentifizierungsabläufen möglicherweise sofort eine Weiterleitung an eine Ergebnis-URL erfolgt, blendet
launchWebAuthFlow
die Webansicht aus, bis die erste Navigation zur finalen URL weiterleitet oder das Laden einer Seite abgeschlossen hat, die angezeigt werden soll.Wenn das Flag
interactive
auftrue
gesetzt ist, wird das Fenster angezeigt, wenn die Seite geladen ist. Wenn das Flag auffalse
gesetzt oder weggelassen wird, gibtlaunchWebAuthFlow
einen Fehler zurück, wenn die anfängliche Navigation den Ablauf nicht abschließt.Bei Abläufen, die JavaScript für die Weiterleitung verwenden, kann
abortOnLoadForNonInteractive
in Kombination mit der EinstellungtimeoutMsForNonInteractive
auffalse
gesetzt werden, damit die Seite Weiterleitungen ausführen kann. -
timeoutMsForNonInteractive
Zahl optional
Chrome 113 und höherDie maximale Zeitspanne 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 Authentifizierungsvorgang initiiert.
Methoden
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
Setzt den Status der Identity API zurück:
- Entfernt alle OAuth2-Zugriffstokens aus dem Token-Cache.
- Entfernt die Kontoeinstellungen des Nutzers
- Der Nutzer wird in allen Authentifizierungsabläufen deaktiviert
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 106 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
Ruft eine Liste von AccountInfo-Objekten ab, die die im Profil vorhandenen Konten beschreiben.
getAccounts
wird nur für die Entwicklerversion unterstützt.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(accounts: AccountInfo[]) => void
-
Konten
-
Gibt Folgendes zurück:
-
Promise<AccountInfo[]>
Promise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
Ruft ein OAuth2-Zugriffstoken mithilfe der Client-ID und der Bereiche ab, die im Abschnitt "oauth2
" der Datei "manifest.json" angegeben sind.
Die Identity API speichert Zugriffstokens im Cache. Daher kann getAuthToken
jedes Mal nicht interaktiv aufgerufen werden, wenn ein Token erforderlich ist. Der Token-Cache verarbeitet den Ablauf automatisch.
Für eine gute Nutzererfahrung ist es wichtig, dass interaktive Token-Anfragen über die Benutzeroberfläche Ihrer App initiiert werden, wozu die Autorisierung dient. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen oder die Anmeldebildschirme von Chrome, wenn sie nicht angemeldet sind und keinen Kontext haben. Verwende getAuthToken
insbesondere nicht interaktiv, wenn deine App zum ersten Mal gestartet wird.
Hinweis: Bei Aufruf mit einem Callback gibt diese Funktion die beiden Eigenschaften als separate Argumente zurück, die an den Callback übergeben werden, anstatt ein Objekt zurückzugeben.
Parameter
-
Details
TokenDetails optional
Token-Optionen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(result: GetAuthTokenResult) => void
-
ErgebnisChrome 105 oder höher
-
Gibt Folgendes zurück:
-
Promise<GetAuthTokenResult>
Chrome 105 oder höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
Ruft die E-Mail-Adresse und die verschleierte GAIA-ID des Nutzers ab, der in einem Profil angemeldet ist.
Erfordert die Manifestberechtigung identity.email
. Andernfalls wird ein leeres Ergebnis zurückgegeben.
Diese API unterscheidet sich in zweierlei Hinsicht von Identity.getAccounts. Die zurückgegebenen Informationen sind offline verfügbar und gelten nur für das primäre Konto des Profils.
Parameter
-
Details
ProfileDetails optional
Chrome (ab Version 84)Profiloptionen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(userInfo: ProfileUserInfo) => void
-
userInfo
-
Gibt Folgendes zurück:
-
Promise<ProfileUserInfo>
Chrome 106 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
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.
Gibt Folgendes zurück:
-
String
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
Startet einen Authentifizierungsvorgang unter der angegebenen URL.
Diese Methode ermöglicht Authentifizierungsabläufe mit Identitätsanbietern, die nicht von Google stammen. Dazu wird eine Webansicht gestartet und zur ersten URL im Authentifizierungsvorgang des Anbieters navigiert. Wenn der Anbieter zu einer 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 interaktive Authentifizierungsabläufe über die Benutzeroberfläche Ihrer App initiiert werden, in der der Zweck der Autorisierung erläutert wird. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen ohne Kontext. Starten Sie insbesondere keinen interaktiven Authentifizierungsvorgang beim ersten Start Ihrer App.
Parameter
-
Details
Optionen für den WebAuth-Vorgang.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(responseUrl?: string) => void
-
responseUrl
String optional
-
Gibt Folgendes zurück:
-
Promise<string | nicht definiert>
Chrome 106 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
Entfernt ein OAuth2-Zugriffstoken aus dem Token-Cache der Identity API.
Wenn ein Zugriffstoken ungültig ist, sollte es an removeCachedAuthToken übergeben werden, um es aus dem Cache zu entfernen. Die Anwendung kann dann mit getAuthToken
ein neues Token abrufen.
Parameter
-
Details
Tokeninformationen.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>() => void
Gibt Folgendes zurück:
-
Versprechen<void>
Chrome 106 und höherPromise-Objekte werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
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: <ph type="x-smartling-placeholder"></ph>(account: AccountInfo, signedIn: boolean) => void
-
Konto
-
signedIn
boolean
-