chrome.identity

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

Chrome (ab Version 84)

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

Chrome 105 oder höher

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

Chrome (ab Version 84)

Attribute

  • accountStatus

    AccountStatusoptional

    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, fordert getAuthToken den Nutzer bei Bedarf auf. Wenn das Flag auf false gesetzt oder weggelassen wird, gibt getAuthToken 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öher

    Gibt 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 auf false gesetzt ist, wird der Ablauf erst beendet, wenn timeoutMsForNonInteractive 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 auf true gesetzt ist, wird das Fenster angezeigt, wenn die Seite geladen ist. Wenn das Flag auf false gesetzt oder weggelassen wird, gibt launchWebAuthFlow 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 Einstellung timeoutMsForNonInteractive auf false gesetzt werden, damit die Seite Weiterleitungen ausführen kann.

  • timeoutMsForNonInteractive

    Zahl optional

    Chrome 113 und höher

    Die maximale Zeitspanne in Millisekunden, die launchWebAuthFlow insgesamt im nicht interaktiven Modus ausgeführt werden darf. Hat nur Auswirkungen, wenn interactive den Wert false hat.

  • URL

    String

    Die URL, die den Authentifizierungsvorgang initiiert.

Methoden

clearAllCachedAuthTokens()

<ph type="x-smartling-placeholder"></ph> Versprechen Chrome 87 oder höher
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öher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getAccounts()

<ph type="x-smartling-placeholder"></ph> Versprechen Entwicklerversion
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

Gibt Folgendes zurück:

  • Promise&lt;AccountInfo[]&gt;

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getAuthToken()

<ph type="x-smartling-placeholder"></ph> Versprechen
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

Gibt Folgendes zurück:

  • Promise&lt;GetAuthTokenResult&gt;

    Chrome 105 oder höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

getProfileUserInfo()

<ph type="x-smartling-placeholder"></ph> Versprechen
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

Gibt Folgendes zurück:

  • Promise&lt;ProfileUserInfo&gt;

    Chrome 106 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das 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.

Gibt Folgendes zurück:

  • String

launchWebAuthFlow()

<ph type="x-smartling-placeholder"></ph> Versprechen
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

  • 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öher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

removeCachedAuthToken()

<ph type="x-smartling-placeholder"></ph> Versprechen
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

  • 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öher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

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