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
Enum
"SYNCHRONISEREN" "ELK"
Geeft aan dat synchronisatie is ingeschakeld voor het primaire account.
Geeft aan dat er een primair account bestaat, indien van toepassing.
GetAuthTokenResult
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
Eigenschappen
- accountstatus
AccountStatus optioneel
De status van het primaire account dat is aangemeld bij een profiel waarvan
ProfileUserInfo
moet worden geretourneerd. Standaard is dit deSYNC
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, zalgetAuthToken
de gebruiker indien nodig een prompt sturen. Als de vlagfalse
is of weggelaten, zalgetAuthToken
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 opfalse
, wordt de stroom pas beëindigd na detimeoutMsForNonInteractive
. 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
vlagtrue
is, wordt het venster weergegeven wanneer het laden van een pagina is voltooid. Als de vlagfalse
is of is weggelaten, retourneertlaunchWebAuthFlow
een foutmelding als de initiële navigatie de flow niet voltooit.Voor stromen die JavaScript gebruiken voor omleiding, kan
abortOnLoadForNonInteractive
worden ingesteld opfalse
in combinatie met het instellen vantimeoutMsForNonInteractive
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 alsinteractive
opfalse
staat. - url
snaar
De URL die de autorisatiestroom initieert.
Methoden
clearAllCachedAuthTokens()
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()
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
Belofte< AccountInfo []>
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
- details
TokenDetails optioneel
Tokenopties.
Retourneren
Belofte <GetAuthTokenResult>
Chroom 105+
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
- details
Profieldetails optioneel
Chroom 84+Profielopties.
Retourneren
Belofte <ProfileUserInfo>
Chroom 106+
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
- details
WebAuth-stroomopties.
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
- details
Tokeninformatie.
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
- rekening
- aangemeld
Booleaanse