chrome.identiteit

Beschrijving

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

Machtigingen

identity

Typen

AccountInfo

Eigenschappen

  • id

    snaar

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

AccountStatus

Chroom 84+

Enum

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

"ELK"
Geeft aan dat er een primair account bestaat, indien van toepassing.

GetAuthTokenResult

Chroom 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 de aanvraag is gekoppeld.

InvalidTokenDetails

Eigenschappen

  • token

    snaar

    Het specifieke token dat uit de cache moet worden verwijderd.

ProfileDetails

Chroom 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 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 identity.email -manifestmachtiging niet is opgegeven.

  • id

    snaar

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

TokenDetails

Eigenschappen

  • rekening

    AccountInfo optioneel

    De account-ID waarvan het token moet worden geretourneerd. Indien niet opgegeven, gebruikt de functie een account uit het Chrome-profiel: het Sync-account (indien aanwezig) of anders het eerste Google-webaccount.

  • GranularPermissions inschakelen

    boolean optioneel

    Chroom 87+

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

  • interactieve

    boolean optioneel

    Het ophalen van een token vereist mogelijk dat de gebruiker zich aanmeldt bij Chrome of de aangevraagde scopes van de applicatie goedkeurt. Als de interactieve vlag true is, zal getAuthToken de gebruiker indien nodig een prompt sturen. Als de vlag false is of weggelaten, zal getAuthToken telkens wanneer een prompt vereist is, een foutmelding retourneren.

  • scopes

    string[] optioneel

    Een lijst met OAuth2-scopes die u kunt aanvragen.

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

WebAuthFlowDetails

Eigenschappen

  • abortOnLoadForNonInteractive

    boolean optioneel

    Chroom 113+

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

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

  • interactieve

    boolean optioneel

    Of de autorisatiestroom in de interactieve modus moet worden gestart.

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

    Als de interactive vlag true is, wordt het venster weergegeven wanneer het laden van een pagina is voltooid. Als de vlag false is of is weggelaten, retourneert launchWebAuthFlow een foutmelding als de initiële navigatie de flow 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 de kans te geven om omleidingen uit te voeren.

  • timeoutMsForNonInteractive

    nummer optioneel

    Chroom 113+

    De maximale tijd, in milliseconden, launchWebAuthFlow in totaal in niet-interactieve modus mag draaien. Heeft alleen effect als interactive op false staat.

  • url

    snaar

    De URL die de autorisatiestroom initieert.

Methoden

clearAllCachedAuthTokens()

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

Reset de status van de Identity API:

  • Verwijdert alle OAuth2-toegangstokens uit de tokencache
  • Verwijdert de accountvoorkeuren van de gebruiker
  • De-autoriseert de gebruiker van alle autorisatiestromen

Retourneren

  • Belofte<leegte>

    Chroom 106+

getAccounts()

Dev-kanaal
chrome.identity.getAccounts(): Promise<AccountInfo[]>

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

getAccounts wordt alleen ondersteund op het dev-kanaal.

Retourneren

getAuthToken()

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

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

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

Voor een goede gebruikerservaring is het belangrijk dat interactieve tokenaanvragen worden geïnitieerd door de gebruikersinterface in uw app, waarin wordt uitgelegd waarvoor de autorisatie is. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken of Chrome-aanmeldschermen te zien als ze niet zijn aangemeld, zonder context. Gebruik getAuthToken in het bijzonder niet interactief wanneer uw app voor het eerst wordt gestart.

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

Parameters

Retourneren

getProfileUserInfo()

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

Haalt het e-mailadres en de gemaskeerde GAIA-ID op van de gebruiker die is aangemeld bij een profiel.

Vereist de 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 voor het profiel.

Parameters

Retourneren

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)
: 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

    string optioneel

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

Retourneren

  • snaar

launchWebAuthFlow()

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

Start een autorisatiestroom bij de opgegeven URL.

Deze methode maakt autorisatiestromen met identiteitsproviders die niet van Google zijn mogelijk door een webweergave te starten en deze naar de eerste URL in de autorisatiestroom 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 doorverwijzings-URL doorgegeven aan de callback .

Voor een goede gebruikerservaring is het belangrijk dat interactieve autorisatiestromen worden geïnitieerd door de gebruikersinterface in uw app, die uitlegt waarvoor de autorisatie is. Als u dit niet doet, ontvangen uw gebruikers autorisatieverzoeken zonder context. Start met name geen interactieve autorisatiestroom wanneer uw app voor het eerst wordt gestart.

Parameters

Retourneren

  • Belofte<string | undefined>

    Chroom 106+

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 deze worden doorgegeven aan removeCachedAuthToken om deze uit de cache te verwijderen. De app kan vervolgens een nieuw token ophalen met getAuthToken .

Parameters

Retourneren

  • Belofte<leegte>

    Chroom 106+

Evenementen

onSignInChanged

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

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

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

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