browser.identity

Beschrijving

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

Rechten

identity

Typen

AccountInfo

Eigenschappen

  • id

    tekenreeks

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

AccountStatus

Chrome 84 of hoger browser.* sinds Chrome 148

Enum

SYNC
Geeft aan dat synchronisatie aanstaat voor het primaire account.

ANY
Hiermee geef je aan of er een primair account bestaat.

GetAuthTokenResult

Chrome 105 of hoger browser.* sinds Chrome 148

Eigenschappen

  • grantedScopes

    string[] optioneel

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

  • token

    tekenreeks optioneel

    De specifieke token die aan het verzoek is gekoppeld.

InvalidTokenDetails

Eigenschappen

  • token

    tekenreeks

    De specifieke token die uit het cachegeheugen moet worden verwijderd.

ProfileDetails

Chrome 84 of hoger browser.* sinds Chrome 148

Eigenschappen

  • accountStatus

    AccountStatus optioneel

    De status van het primaire account dat is ingelogd op een profiel waarvan de ProfileUserInfo moet worden geretourneerd. De standaardwaarde is de accountstatus SYNC.

ProfileUserInfo

Eigenschappen

  • e-mail

    tekenreeks

    Een e-mailadres voor het gebruikersaccount dat is ingelogd op het huidige profiel. Leeg als de gebruiker niet is ingelogd of als het manifestrecht identity.email niet is gespecificeerd.

  • id

    tekenreeks

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

TokenDetails

Eigenschappen

  • account

    AccountInfo optioneel

    De account-ID waarvan de token moet worden geretourneerd. Als je geen account invoert, gebruikt de functie een account uit het Chrome-profiel: het synchronisatieaccount als dat er is, of anders het eerste Google-webaccount.

  • enableGranularPermissions

    booleaans optioneel

    Chrome 87+ browser.* sinds Chrome 148

    Met de markering enableGranularPermissions kunnen extensies zich vroegtijdig aanmelden voor het toestemmingsscherm voor gedetailleerde rechten, waarin gevraagde rechten afzonderlijk worden verleend of geweigerd.

  • interactief

    booleaans optioneel

    Als je een token wilt ophalen, moet de gebruiker misschien inloggen bij Chrome of de aangevraagde bereiken van de app goedkeuren. Als de interactieve markering true is, vraagt getAuthToken de gebruiker zo nodig om actie. Als de markering false is of wordt weggelaten, retourneert getAuthToken een foutmelding wanneer een prompt is vereist.

  • bereiken

    string[] optioneel

    Een lijst met OAuth2-bereiken die moeten worden aangevraagd.

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

WebAuthFlowDetails

Eigenschappen

  • abortOnLoadForNonInteractive

    booleaans optioneel

    Chrome 113+ browser.* sinds Chrome 148

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

    Als deze is ingesteld op true (standaard), wordt het proces onmiddellijk beëindigd nadat de pagina is geladen. Als je deze instelt op false, wordt het proces 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.

  • interactief

    booleaans optioneel

    Of het autorisatieproces moet worden gestart in de interactieve modus.

    Omdat sommige verificatieprocessen onmiddellijk omleiden naar een resultaat-URL, verbergt launchWebAuthFlow de webweergave totdat de eerste navigatie omleidt naar de uiteindelijke URL of klaar is met het laden van een pagina die moet worden weergegeven.

    Als de markering interactive de waarde true heeft, wordt het venster getoond nadat een pagina is geladen. Als de vlag false is of wordt weggelaten, retourneert launchWebAuthFlow een fout als de eerste navigatie het proces niet afrondt.

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

  • timeoutMsForNonInteractive

    number optioneel

    Chrome 113+ browser.* sinds Chrome 148

    De maximale tijd, in milliseconden, dat launchWebAuthFlow in totaal mag worden uitgevoerd in de niet-interactieve modus. Heeft alleen effect als interactive is ingesteld op false.

  • url

    tekenreeks

    De URL die het verificatieproces start.

Methoden

clearAllCachedAuthTokens()

Chrome 87+ browser.* sinds Chrome 148
browser.identity.clearAllCachedAuthTokens(): Promise<void>

Hiermee wordt de status van de Identity API gereset:

  • Verwijdert alle OAuth2-toegangstokens uit de tokencache
  • Verwijdert de accountvoorkeuren van de gebruiker
  • De autorisatie van de gebruiker voor alle autorisatieprocessen wordt ingetrokken.

Retourzendingen

  • Promise<void>

    Chrome 106 of hoger browser.* sinds Chrome 148

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

getAccounts()

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

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

getAccounts wordt alleen ondersteund op het Dev-kanaal.

Retourzendingen

getAuthToken()

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

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

De Identity API slaat toegangstokens op in het cachegeheugen. Je kunt getAuthToken dus altijd niet-interactief aanroepen als je een token nodig hebt. De tokencache verwerkt de vervaldatum automatisch.

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

Opmerking: Als deze functie wordt aangeroepen met een callback, retourneert deze geen object, maar de 2 eigenschappen als afzonderlijke argumenten die worden doorgegeven aan de callback.

Parameters

Retourzendingen

  • Chrome 105 of hoger browser.* sinds Chrome 148

    Retourneert een Promise die wordt omgezet met een OAuth2-toegangstoken zoals gespecificeerd door het manifest, of wordt afgewezen als er een fout is opgetreden. De parameter grantedScopes wordt ingevuld sinds Chrome 87. Als deze parameter beschikbaar is, bevat deze de lijst met verleende bereiken die overeenkomen met de geretourneerde token.

getProfileUserInfo()

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

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

Vereist het manifestrecht identity.email. Anders wordt een leeg resultaat geretourneerd.

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

Parameters

  • details

    ProfileDetails optioneel

    Chrome 84 of hoger browser.* sinds Chrome 148

    Profielopties.

Retourzendingen

  • Chrome 106 of hoger browser.* sinds Chrome 148

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

getRedirectURL()

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

Genereert een omleidings-URL die kan 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 wordt toegevoegd.

Retourzendingen

  • tekenreeks

launchWebAuthFlow()

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

Start een verificatieproces op de opgegeven URL.

Met deze methode kun je verificatieprocessen met niet-Google-identiteitsprovider mogelijk maken door een webweergave te starten en naar de eerste URL in het verificatieproces van de provider te navigeren. Als 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 functie callback.

Voor een goede gebruikerservaring is het belangrijk dat interactieve verificatieprocessen worden gestart door de UI in je app, waarin wordt uitgelegd waarvoor de autorisatie is bedoeld. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken zonder context. Start vooral geen interactief autorisatieproces als je app voor het eerst wordt gestart.

Parameters

Retourzendingen

  • Promise<string | undefined>

    Chrome 106 of hoger browser.* sinds Chrome 148

    Retourneert een Promise die wordt omgezet met de URL die is omgeleid naar je app.

removeCachedAuthToken()

browser.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 het cachegeheugen te verwijderen. De app kan dan een nieuwe token ophalen met getAuthToken.

Parameters

Retourzendingen

  • Promise<void>

    Chrome 106 of hoger browser.* sinds Chrome 148

    Retourneert een Promise die wordt opgelost als de token uit het cachegeheugen is verwijderd.

Evenementen

onSignInChanged

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

Wordt geactiveerd als de inlogstatus verandert voor een account in het profiel van de gebruiker.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

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