chrome.identity

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

Chrome 84 und höher

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

Chrome 105 und 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 84 und höher

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 Kontostatus SYNC.

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

    Mit 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, fordert getAuthToken den Nutzer bei Bedarf auf. Wenn das Flag false ist oder weggelassen wird, gibt getAuthToken jedes Mal einen Fehler zurück, wenn eine Aufforderung erforderlich ist.

  • scopes

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

    Gibt 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. Wenn false festgelegt ist, wird der Ablauf erst beendet, nachdem timeoutMsForNonInteractive 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 auf true gesetzt ist, wird das Fenster angezeigt, wenn der Seitenaufbau abgeschlossen ist. Wenn das Flag false ist oder weggelassen wird, gibt launchWebAuthFlow 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 auf false gesetzt und gleichzeitig timeoutMsForNonInteractive konfiguriert werden, damit die Seite weitergeleitet werden kann.

  • timeoutMsForNonInteractive

    Nummer optional

    Chrome 113 und höher

    Die maximale Zeit 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 Autorisierungsvorgang initiiert.

Methoden

clearAllCachedAuthTokens()

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.
  • Die Kontoeinstellungen des Nutzers werden entfernt.
  • Autorisierung des Nutzers für alle Authentifizierungsabläufe aufgehoben

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 106 oder höher

    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.

getAccounts()

Promise Entwicklerversion
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.

Parameters

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (accounts: AccountInfo[])=>void

Rückgaben

  • 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()

Versprechen
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.

Parameters

Rückgaben

  • Chrome 105 und höher

    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.

getProfileUserInfo()

Versprechen
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.

Parameters

Rückgaben

  • Chrome 106 oder höher

    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.

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/*.

Parameters

  • Pfad

    String optional

    Der Pfad, der an das Ende der generierten URL angehängt wird.

Rückgaben

  • String

launchWebAuthFlow()

Versprechen
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.

Parameters

  • Optionen für den WebAuth-Vorgang.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (responseUrl?: string)=>void

    • responseUrl

      String optional

Rückgaben

  • Versprechen<string|undefiniert>

    Chrome 106 oder höher

    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.

removeCachedAuthToken()

Versprechen
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.

Parameters

  • Tokeninformationen.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 106 oder höher

    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.

Veranstaltungen

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

Wird ausgelöst, wenn sich der Anmeldestatus für ein Konto im Profil des Nutzers ändert

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (account: AccountInfo,signedIn: boolean)=>void