chrome.identiteit

Beschrijving

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

Toestemmingen

identity

Soorten

AccountInfo

Eigenschappen

  • id

    snaar

    Een unieke identificatiecode voor het account. Deze ID blijft gedurende de hele levensduur van het account ongewijzigd.

AccountStatus

Chrome 84+

Enum

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

"ELK"
Geeft aan of er een primaire rekening bestaat, indien van toepassing.

GetAuthTokenResult

Chrome 105+

Eigenschappen

  • toegekende Scopes

    string[] optioneel

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

  • token

    string optioneel

    Het specifieke token dat aan het verzoek is gekoppeld.

InvalidTokenDetails

Eigenschappen

  • token

    snaar

    Het specifieke token dat uit de cache verwijderd moet worden.

ProfileDetails

Chrome 84+

Eigenschappen

  • accountStatus

    AccountStatus optioneel

    De status van het primaire account dat is aangemeld bij een profiel waarvan ProfileUserInfo moet worden geretourneerd. Standaard is dit de status SYNC account'.

ProfileUserInfo

Eigenschappen

  • e-mail

    snaar

    Het e-mailadres van het gebruikersaccount dat is aangemeld bij het huidige profiel. Leeg als de gebruiker niet is aangemeld of als de manifestmachtiging identity.email niet is gespecificeerd.

  • id

    snaar

    Een unieke identificatiecode voor het account. Deze ID blijft gedurende de levensduur van het account ongewijzigd. Leeg als de gebruiker niet is aangemeld of (in M41+) de manifesttoestemming identity.email niet is gespecificeerd.

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 indien aanwezig, of anders het eerste Google-webaccount.

  • Maak gedetailleerde machtigingen mogelijk

    boolean optioneel

    Chrome 87+

    De vlag enableGranularPermissions stelt extensies in staat om zich vroegtijdig aan te melden voor het scherm voor toestemming voor gedetailleerde machtigingen, waar gevraagde machtigingen individueel worden verleend of geweigerd.

  • interactieve

    boolean optioneel

    Het ophalen van een token kan vereisen dat de gebruiker zich aanmeldt bij Chrome of de door de applicatie gevraagde scopes goedkeurt. Als de interactieve vlag is ingesteld op true , zal getAuthToken de gebruiker indien nodig om bevestiging vragen. Wanneer de vlag is ingesteld false of ontbreekt, zal getAuthToken een foutmelding geven wanneer een prompt vereist is.

  • scopes

    string[] optioneel

    Een lijst met OAuth2-scopes die moeten worden aangevraagd.

    Als het veld scopes aanwezig is, overschrijft het de lijst met scopes die in manifest.json zijn gespecificeerd.

WebAuthFlowDetails

Eigenschappen

  • abortOnLoadForNonInteractive

    boolean optioneel

    Chrome 113+

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

    Wanneer ingesteld op true (standaard), wordt de flow direct na het laden van de pagina beëindigd. Wanneer ingesteld op false , wordt de flow pas beëindigd nadat de timeoutMsForNonInteractive is verstreken. Dit is handig voor identiteitsproviders die JavaScript gebruiken om omleidingen uit te voeren na het laden van de pagina.

  • interactieve

    boolean optioneel

    Of de authenticatiestroom in interactieve modus moet worden gestart.

    Omdat sommige authenticatiestromen direct doorverwijzen naar een resultaat-URL, verbergt launchWebAuthFlow de webweergave totdat de eerste navigatie doorverwijst naar de uiteindelijke URL of totdat een pagina die moet worden weergegeven volledig is geladen.

    Als de interactive vlag true is, wordt het venster weergegeven zodra de pagina volledig is geladen. Als de vlag false is of ontbreekt, retourneert launchWebAuthFlow een foutmelding als de initiële navigatie de flow niet voltooit.

    Voor flows die JavaScript gebruiken voor omleidingen, kan abortOnLoadForNonInteractive op false worden gezet in combinatie met timeoutMsForNonInteractive om de pagina de kans te geven eventuele omleidingen uit te voeren.

  • timeoutMsForNonInteractive

    nummer optioneel

    Chrome 113+

    De maximale tijdsduur, in milliseconden, launchWebAuthFlow in niet-interactieve modus mag draaien. Dit heeft alleen effect als interactive false is.

  • URL

    snaar

    De URL die het authenticatieproces start.

Methoden

clearAllCachedAuthTokens()

Chrome 87+
chrome.identity.clearAllCachedAuthTokens(): Promise<void>

Hiermee wordt de status van de Identity API gereset:

  • Removes all OAuth2 access tokens from the token cache
  • Verwijdert de accountvoorkeuren van de gebruiker.
  • Hiermee wordt de gebruiker de toegang tot alle authenticatiestromen ontzegd.

Retourneert

  • Promise<void>

    Chrome 106+

    Retourneert een Promise die wordt opgelost wanneer de status is gewist.

getAccounts()

Ontwikkelaarskanaal
chrome.identity.getAccounts(): Promise<AccountInfo[]>

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

getAccounts wordt alleen ondersteund op het ontwikkelaarskanaal.

Retourneert

getAuthToken()

chrome.identity.getAuthToken(
  details?: TokenDetails,
)
: Promise<GetAuthTokenResult>

Verkrijgt een OAuth2-toegangstoken met behulp van de client-ID en scopes die zijn gespecificeerd in de oauth2 sectie van manifest.json .

De Identity API slaat toegangstokens in het geheugen op, dus het is geen probleem om getAuthToken niet-interactief aan te roepen wanneer een token nodig is. De tokencache regelt automatisch de vervaldatum.

For a good user experience it is important interactive token requests are initiated by UI in your app explaining what the authorization is for. Failing to do this will cause your users to get authorization requests, or Chrome sign in screens if they are not signed in, with with no context. In particular, do not use getAuthToken interactively when your app is first launched.

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

Parameters

Retourneert

  • Promise< GetAuthTokenResult >

    Chrome 105+

    Retourneert een Promise die wordt opgelost met een OAuth2-toegangstoken zoals gespecificeerd in het manifest, of wordt afgewezen als er een fout is opgetreden. De parameter grantedScopes wordt sinds Chrome 87 gevuld. Indien beschikbaar, bevat deze parameter de lijst met toegekende scopes die overeenkomen met het geretourneerde token.

getProfileUserInfo()

chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
)
: Promise<ProfileUserInfo>

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

Vereist de manifesttoestemming identity.email . 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 van het profiel.

Parameters

Retourneert

  • Promise< ProfileUserInfo >

    Chrome 106+

    Retourneert een Promise die wordt opgelost met de ProfileUserInfo van het primaire Chrome-account, of een lege ProfileUserInfo als het account met de opgegeven details niet bestaat.

getRedirectURL()

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

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

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

Parameters

  • pad

    string optioneel

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

Retourneert

  • snaar

launchWebAuthFlow()

chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
)
: Promise<string | undefined>

Start een authenticatieproces op de opgegeven URL.

Deze methode maakt authenticatiestromen met niet-Google-identiteitsproviders mogelijk door een webweergave te openen en deze naar de eerste URL in de authenticatiestroom van de provider te navigeren. Wanneer de provider doorverwijst 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 .

For a good user experience it is important interactive auth flows are initiated by UI in your app explaining what the authorization is for. Failing to do this will cause your users to get authorization requests with no context. In particular, do not launch an interactive auth flow when your app is first launched.

Parameters

Retourneert

  • Promise<string | undefined>

    Chrome 106+

    Retourneert een Promise die wordt opgelost door de URL terug te leiden naar uw applicatie.

removeCachedAuthToken()

chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
)
: Promise<void>

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

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

Parameters

Retourneert

  • Promise<void>

    Chrome 106+

    Retourneert een Promise die wordt opgelost wanneer het token uit de cache is verwijderd.

Evenementen

onSignInChanged

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

Wordt geactiveerd wanneer de aanmeldstatus van een account op het gebruikersprofiel verandert.

Parameters

  • terugbelverzoek

    functie

    De callback parameter ziet er als volgt uit:

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