chrome.identiteit

Beschrijving

Gebruik de chrome.identity API om OAuth2-toegangstokens te verkrijgen.

Machtigingen

identity

Soorten

AccountInfo

Eigenschappen

  • Identiteitskaart

    snaar

    Een unieke identificatie voor het account. Deze ID verandert niet gedurende de levensduur van het account.

AccountStatus

Chroom 84+

Enum

"SYNCHRONISEREN"
Geeft aan dat synchronisatie is ingeschakeld voor het primaire account.

"ELK"
Specificeert het bestaan ​​van een primair account, indien aanwezig.

GetAuthTokenResult

Chroom 105+

Eigenschappen

  • toegekendScopes

    tekenreeks[] optioneel

    Een lijst met OAuth2-bereiken die aan de extensie zijn toegekend.

  • teken

    tekenreeks optioneel

    Het specifieke token dat aan de aanvraag is gekoppeld.

InvalidTokenDetails

Eigenschappen

  • teken

    snaar

    Het specifieke token dat uit de cache moet worden verwijderd.

ProfileDetails

Chroom 84+

Eigenschappen

  • accountStatus

    AccountStatus optioneel

    Een status van het primaire account dat is aangemeld bij een profiel waarvan ProfileUserInfo moet worden geretourneerd. Standaard ingesteld op SYNC accountstatus.

ProfileUserInfo

Eigenschappen

  • e-mail

    snaar

    Een e-mailadres voor het gebruikersaccount dat is aangemeld bij het huidige profiel. Leeg als de gebruiker niet is aangemeld of als de machtiging identity.email manifest niet is opgegeven.

  • Identiteitskaart

    snaar

    Een unieke identificatie voor het account. Deze ID verandert niet gedurende de levensduur van het account. Leeg als de gebruiker niet is aangemeld of (in M41+) de identity.email -manifestmachtiging niet is opgegeven.

TokenDetails

Eigenschappen

  • rekening

    AccountInfo optioneel

    De account-ID waarvan het token moet worden geretourneerd. Indien niet gespecificeerd, gebruikt de functie een account uit het Chrome-profiel: het Sync-account als dat er is, of anders het eerste Google-webaccount.

  • schakelGranularPermissions in

    Booleaans optioneel

    Chroom 87+

    Met de vlag enableGranularPermissions kunnen extensies zich vroegtijdig aanmelden voor het gedetailleerde toestemmingsscherm, waarin aangevraagde machtigingen afzonderlijk worden verleend of geweigerd.

  • interactieve

    Booleaans optioneel

    Voor het ophalen van een token moet de gebruiker mogelijk inloggen bij Chrome of de aangevraagde bereiken van de applicatie goedkeuren. Als de interactieve vlag true is, zal getAuthToken de gebruiker indien nodig vragen. Wanneer de vlag false is of wordt weggelaten, retourneert getAuthToken een fout telkens wanneer een prompt nodig zou zijn.

  • reikwijdten

    tekenreeks[] optioneel

    Een lijst met OAuth2-bereiken die moeten worden aangevraagd.

    Wanneer het veld scopes aanwezig is, overschrijft het de lijst met scopes die is opgegeven in manifest.json.

WebAuthFlowDetails

Eigenschappen

  • abortOnLoadForNonInteractive

    Booleaans optioneel

    Chroom 113+

    Of launchWebAuthFlow moet worden beëindigd voor niet-interactieve verzoeken nadat de pagina is geladen. Deze parameter heeft geen invloed op interactieve stromen.

    Indien ingesteld op true (standaard), wordt de stroom onmiddellijk beëindigd nadat de pagina is geladen. Als deze is ingesteld op false , wordt de stroom pas beëindigd nadat de timeoutMsForNonInteractive is verstreken. Dit is handig voor identiteitsproviders die JavaScript gebruiken om omleidingen uit te voeren nadat de pagina is geladen.

  • interactieve

    Booleaans optioneel

    Of de verificatiestroom in de interactieve modus moet worden gestart.

    Omdat sommige auth-stromen onmiddellijk kunnen omleiden naar een resultaat-URL, verbergt launchWebAuthFlow de webweergave totdat de eerste navigatie doorverwijst naar de uiteindelijke URL, of klaar is met het laden van een pagina die bedoeld is om te worden weergegeven.

    Als de interactive vlag true is, wordt het venster weergegeven wanneer het laden van een pagina is voltooid. Als de vlag false is of wordt weggelaten, keert launchWebAuthFlow terug met een fout als de initiële navigatie de stroom niet voltooit.

    Voor stromen die JavaScript gebruiken voor omleiding, kan abortOnLoadForNonInteractive worden ingesteld op false in combinatie met het instellen van timeoutMsForNonInteractive om de pagina een kans te geven om omleidingen uit te voeren.

  • time-outMsForNonInteractive

    nummer optioneel

    Chroom 113+

    De maximale hoeveelheid tijd, in miliseconden, dat launchWebAuthFlow in totaal in de niet-interactieve modus mag draaien. Heeft alleen effect als interactive false is.

  • URL

    snaar

    De URL die de verificatiestroom initieert.

Methoden

clearAllCachedAuthTokens()

BeloofChrome 87+
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

Reset de status van de Identity API:

  • Verwijdert alle OAuth2-toegangstokens uit de tokencache
  • Verwijdert de accountvoorkeuren van de gebruiker
  • Hiermee wordt de autorisatie van de gebruiker voor alle verificatiestromen ingetrokken

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 106+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getAccounts()

Promise Dev-kanaal
chrome.identity.getAccounts(
  callback?: function,
)

Haalt een lijst met AccountInfo-objecten op die de accounts beschrijven die in het profiel aanwezig zijn.

getAccounts wordt alleen ondersteund op ontwikkelaarskanaal.

Parameters

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (accounts: AccountInfo[]) => void

Retouren

  • Beloof < AccountInfo []>

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getAuthToken()

Belofte
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)

Haalt een OAuth2-toegangstoken op met behulp van de client-ID en bereiken die zijn opgegeven in de oauth2 sectie van manifest.json .

De Identity API bewaart toegangstokens in het geheugen, dus het is prima om getAuthToken niet-interactief aan te roepen telkens wanneer een token vereist is. De tokencache verwerkt automatisch de vervaldatum.

Voor een goede gebruikerservaring is het belangrijk dat er interactieve tokenverzoeken worden geïnitieerd door de UI in uw app, waarin wordt uitgelegd waarvoor de autorisatie dient. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken of Chrome-inlogschermen als ze niet zijn ingelogd, zonder context. Gebruik getAuthToken vooral niet interactief wanneer uw app voor het eerst wordt gestart.

Opmerking: wanneer deze wordt aangeroepen met een callback, retourneert deze functie, in plaats van een object terug te geven, de twee eigenschappen als afzonderlijke argumenten die aan de callback worden doorgegeven.

Parameters

Retouren

  • Beloof < GetAuthTokenResult >

    Chroom 105+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getProfileUserInfo()

Belofte
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)

Haalt het e-mailadres en de verborgen gaia-ID op van de gebruiker die is ingelogd op een profiel.

Vereist de identity.email -manifesttoestemming. Anders wordt een leeg resultaat geretourneerd.

Deze API verschilt op twee manieren van Identity.getAccounts. De geretourneerde informatie is offline beschikbaar en is alleen van toepassing op het primaire account voor het profiel.

Parameters

Retouren

  • Chroom 106+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)

Genereert een omleidings-URL die moet worden gebruikt in launchWebAuthFlow .

De gegenereerde URL's komen overeen met het patroon https://<app-id>.chromiumapp.org/* .

Parameters

  • pad

    tekenreeks optioneel

    Het pad dat aan het einde van de gegenereerde URL is toegevoegd.

Retouren

  • snaar

launchWebAuthFlow()

Belofte
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)

Start een verificatiestroom op de opgegeven URL.

Deze methode maakt verificatiestromen met niet-Google-identiteitsproviders mogelijk door een webweergave te starten en deze naar de eerste URL in de verificatiestroom van de provider te navigeren. Wanneer de provider omleidt naar een URL die overeenkomt met het patroon https://<app-id>.chromiumapp.org/* , wordt het venster gesloten en wordt de uiteindelijke omleidings-URL doorgegeven aan de callback functie.

Voor een goede gebruikerservaring is het belangrijk dat interactieve authenticatiestromen worden geïnitieerd door de gebruikersinterface in uw app, waarin wordt uitgelegd waarvoor de autorisatie dient. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken zonder context. Start met name geen interactieve verificatiestroom wanneer uw app voor het eerst wordt gestart.

Parameters

  • WebAuth-stroomopties.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (responseUrl?: string) => void

    • reactieUrl

      tekenreeks optioneel

Retouren

  • Belofte<tekenreeks | ongedefinieerd>

    Chroom 106+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

removeCachedAuthToken()

Belofte
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

Verwijdert een OAuth2-toegangstoken uit de tokencache van de Identity API.

Als wordt ontdekt dat een toegangstoken ongeldig is, moet het worden doorgegeven aan removeCachedAuthToken om het uit de cache te verwijderen. De app kan vervolgens een nieuw token ophalen met getAuthToken .

Parameters

  • Token-informatie.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    () => void

Retouren

  • Beloof <nietig>

    Chroom 106+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

Evenementen

onSignInChanged

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

Wordt geactiveerd wanneer de aanmeldingsstatus verandert voor een account in het profiel van de gebruiker.

Parameters

  • terugbellen

    functie

    De callback parameter ziet er als volgt uit:

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