Beschreibung
Verwenden Sie die chrome.identity API, um OAuth2-Zugriffstokens abzurufen.
Berechtigungen
identityTypen
AccountInfo
Attribute
-
id
String
Eine eindeutige Kennung für das Konto. Diese ID ändert sich während der gesamten Lebensdauer 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.
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
ProfileUserInfozurückgegeben werden soll. Die Standardeinstellung ist derSYNC-Kontostatus.
ProfileUserInfo
Attribute
-
E-Mail
String
Eine E‑Mail-Adresse für das Nutzerkonto, mit dem Sie im aktuellen Profil angemeldet sind. Leer, wenn der Nutzer nicht angemeldet ist oder die Manifestberechtigung
identity.emailnicht angegeben ist. -
id
String
Eine eindeutige Kennung für das Konto. Diese ID ändert sich während der gesamten Lebensdauer des Kontos nicht. Leer, wenn der Nutzer nicht angemeldet ist oder (in M41+) die Manifestberechtigung
identity.emailnicht angegeben ist.
TokenDetails
Attribute
-
Konto
AccountInfo optional
Die Konto-ID, deren Token zurückgegeben werden soll. Wenn kein Konto angegeben ist, wird ein Konto aus dem Chrome-Profil verwendet: das Synchronisierungskonto, falls vorhanden, oder das erste Google-Webkonto.
-
enableGranularPermissions
Boolesch optional
Chrome 87 und höherMit dem Flag
enableGranularPermissionskönnen Erweiterungen den detaillierten Zustimmungsbildschirm für Berechtigungen vorab aktivieren. Auf diesem Bildschirm werden angeforderte Berechtigungen einzeln gewährt oder abgelehnt. -
interactive
Boolesch optional
Zum Abrufen eines Tokens muss sich der Nutzer möglicherweise in Chrome anmelden oder die von der Anwendung angeforderten Bereiche genehmigen. Wenn das interaktive Flag
trueist, fordertgetAuthTokenden Nutzer bei Bedarf auf. Wenn das Flagfalseist oder weggelassen wird, gibtgetAuthTokenimmer einen Fehler zurück, wenn ein Prompt erforderlich wäre. -
Umfang
string[] optional
Eine Liste der anzufordernden OAuth2-Bereiche.
Wenn das Feld
scopesvorhanden ist, wird die in manifest.json angegebene Liste der Bereiche überschrieben.
WebAuthFlowDetails
Attribute
-
abortOnLoadForNonInteractive
Boolesch optional
Chrome 113 und höherGibt an, ob
launchWebAuthFlowfür nicht interaktive Anfragen nach dem Laden der Seite beendet werden soll. Dieser Parameter hat keine Auswirkungen auf interaktive Abläufe.Wenn der Wert auf
true(Standard) festgelegt ist, wird der Ablauf sofort nach dem Laden der Seite beendet. Wennfalsefestgelegt ist, wird der Ablauf erst nach Ablauf vontimeoutMsForNonInteractivebeendet. Dies ist nützlich für Identitätsanbieter, die JavaScript verwenden, um Weiterleitungen nach dem Laden der Seite auszuführen. -
interactive
Boolesch optional
Gibt an, ob der Autorisierungsablauf im interaktiven Modus gestartet werden soll.
Da bei einigen Autorisierungsabläufen möglicherweise sofort zu einer Ergebnis-URL weitergeleitet wird, wird die Webansicht von
launchWebAuthFlowerst ausgeblendet, wenn bei der ersten Navigation entweder zur finalen URL weitergeleitet wird oder eine Seite geladen wird, die angezeigt werden soll.Wenn das Flag
interactiveauftruegesetzt ist, wird das Fenster angezeigt, sobald eine Seite geladen wurde. Wenn das Flagfalseist oder weggelassen wird, gibtlaunchWebAuthFloweinen Fehler zurück, wenn der Ablauf bei der ersten Navigation nicht abgeschlossen wird.Bei Abläufen, bei denen JavaScript für die Weiterleitung verwendet wird, kann
abortOnLoadForNonInteractiveauffalsegesetzt werden. In Kombination mit der Einstellung vontimeoutMsForNonInteractivewird der Seite so die Möglichkeit gegeben, Weiterleitungen auszuführen. -
timeoutMsForNonInteractive
number optional
Chrome 113 und höherDie maximale Zeit in Millisekunden, die
launchWebAuthFlowinsgesamt im nicht interaktiven Modus ausgeführt werden darf. Hat nur Auswirkungen, wenninteractivefalseist. -
URL
String
Die URL, mit der der Authentifizierungsvorgang gestartet wird.
Methoden
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
Setzt den Status der Identity API zurück:
- Entfernt alle OAuth2-Zugriffstokens aus dem Tokencache.
- Entfernt die Kontoeinstellungen des Nutzers
- Entzieht dem Nutzer die Autorisierung für alle Authentifizierungsabläufe
Parameter
-
callback
Funktion optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 106 und höherGibt ein Promise zurück, das aufgelöst wird, wenn der Status gelöscht wurde.
Promises 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,
): Promise<AccountInfo[]>
Ruft eine Liste von AccountInfo-Objekten ab, die die im Profil vorhandenen Konten beschreiben.
getAccounts wird nur im Entwickler-Channel unterstützt.
Parameter
-
callback
Funktion optional
Der Parameter
callbacksieht so aus:(accounts: AccountInfo[]) => void
-
Konten
-
Ausgabe
-
Promise<AccountInfo[]>
Promises 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,
): Promise<GetAuthTokenResult>
Ruft ein OAuth2-Zugriffstoken mit der Client-ID und den Bereichen ab, die im Abschnitt oauth2 von manifest.json angegeben sind.
Die Identity API speichert Zugriffstokens im Arbeitsspeicher im Cache. Sie können getAuthToken also jederzeit nicht interaktiv aufrufen, wenn ein Token erforderlich ist. Der Token-Cache verarbeitet das Ablaufen von Tokens automatisch.
Für eine gute Nutzererfahrung ist es wichtig, dass interaktive Tokenanfragen über die Benutzeroberfläche Ihrer App initiiert werden und dort erklärt wird, wofür die Autorisierung erforderlich ist. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen oder Chrome-Anmeldebildschirme ohne Kontext, wenn sie nicht angemeldet sind. Verwenden Sie getAuthToken insbesondere nicht interaktiv, wenn Ihre App zum ersten Mal gestartet wird.
Hinweis: Wenn diese Funktion mit einem Callback aufgerufen wird, gibt sie kein Objekt zurück, sondern die beiden Eigenschaften als separate Argumente, die an den Callback übergeben werden.
Parameter
-
Details
TokenDetails optional
Token-Optionen.
-
callback
Funktion optional
Der Parameter
callbacksieht so aus:(result: GetAuthTokenResult) => void
-
ErgebnisChrome 105 und höher
-
Ausgabe
-
Promise<GetAuthTokenResult>
Chrome 105 und höherGibt ein Promise zurück, das mit einem OAuth2-Zugriffstoken gemäß Manifest aufgelöst wird oder bei einem Fehler abgelehnt wird. Der Parameter
grantedScopeswird seit Chrome 87 übergeben. Wenn verfügbar, enthält dieser Parameter die Liste der gewährten Bereiche, die dem zurückgegebenen Token entsprechen.Promises 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,
): Promise<ProfileUserInfo>
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 zwei Punkten 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 84 und höherProfiloptionen.
-
callback
Funktion optional
Der Parameter
callbacksieht so aus:(userInfo: ProfileUserInfo) => void
-
userInfo
-
Ausgabe
-
Promise<ProfileUserInfo>
Chrome 106 und höherGibt ein Promise zurück, das mit der
ProfileUserInfodes primären Chrome-Kontos oder einer leerenProfileUserInfoaufgelöst wird, wenn das Konto mit der angegebenendetailsnicht vorhanden ist.Promises 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,
): string
Generiert eine Weiterleitungs-URL, die in launchWebAuthFlow verwendet werden soll.
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.
Ausgabe
-
String
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
): Promise<string | undefined>
Startet einen Authentifizierungsablauf unter der angegebenen URL.
Mit dieser Methode können Authentifizierungsabläufe mit Nicht-Google-Identitätsanbietern aktiviert werden, indem eine Webansicht gestartet und zur ersten URL im Authentifizierungsablauf des Anbieters navigiert wird. Wenn der Anbieter zu einer URL weiterleitet, die dem Muster https://<app-id>.chromiumapp.org/* entspricht, wird das Fenster geschlossen und die endgültige Weiterleitungs-URL an die Funktion callback übergeben.
Für eine gute Nutzererfahrung ist es wichtig, dass interaktive Autorisierungsabläufe über die Benutzeroberfläche Ihrer App initiiert werden und dort erklärt wird, wofür die Autorisierung erforderlich ist. Andernfalls erhalten Ihre Nutzer Autorisierungsanfragen ohne Kontext. Starten Sie insbesondere keinen interaktiven Authentifizierungsablauf, wenn Ihre App zum ersten Mal gestartet wird.
Parameter
-
Details
WebAuth-Ablaufoptionen.
-
callback
Funktion optional
Der Parameter
callbacksieht so aus:(responseUrl?: string) => void
-
responseUrl
String optional
-
Ausgabe
-
Promise<string | undefined>
Chrome 106 und höherGibt ein Promise zurück, das mit der URL aufgelöst wird, zu der Ihre Anwendung weitergeleitet wird.
Promises 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,
): Promise<void>
Entfernt ein OAuth2-Zugriffstoken aus dem Tokencache 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
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 106 und höherGibt ein Promise zurück, das aufgelöst wird, wenn das Token aus dem Cache entfernt wurde.
Promises 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
callbacksieht so aus:(account: AccountInfo, signedIn: boolean) => void
-
Konto
-
signedIn
boolean
-