Beschrijving
Gebruik de chrome.identity API om OAuth2-toegangstokens te krijgen.
Rechten
identityTypen
AccountInfo
Eigenschappen
-
id
tekenreeks
Een unieke ID voor het account. Deze ID verandert niet gedurende de levensduur van het account.
AccountStatus
Enum
SYNC
Geeft aan dat synchronisatie aanstaat voor het primaire account.
ANY
Hiermee geef je aan of er een primair account bestaat.
GetAuthTokenResult
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
Eigenschappen
-
accountStatus
AccountStatus optioneel
De status van het primaire account dat is ingelogd op een profiel waarvan de
ProfileUserInfomoet worden geretourneerd. De standaardwaarde is de accountstatusSYNC.
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.emailniet 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.emailniet 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 148Met de markering
enableGranularPermissionskunnen 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
trueis, vraagtgetAuthTokende gebruiker zo nodig om actie. Als de markeringfalseis of wordt weggelaten, retourneertgetAuthTokeneen foutmelding wanneer een prompt is vereist. -
bereiken
string[] optioneel
Een lijst met OAuth2-bereiken die moeten worden aangevraagd.
Als het veld
scopesaanwezig is, overschrijft het de lijst met bereiken die is opgegeven in manifest.json.
WebAuthFlowDetails
Eigenschappen
-
abortOnLoadForNonInteractive
booleaans optioneel
Chrome 113+ browser.* sinds Chrome 148Of
launchWebAuthFlowmoet 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 opfalse, wordt het proces pas beëindigd nadat detimeoutMsForNonInteractiveis 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
launchWebAuthFlowde 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
interactivede waardetrueheeft, wordt het venster getoond nadat een pagina is geladen. Als de vlagfalseis of wordt weggelaten, retourneertlaunchWebAuthFloween fout als de eerste navigatie het proces niet afrondt.Voor stromen die JavaScript gebruiken voor omleiding, kan
abortOnLoadForNonInteractiveworden ingesteld opfalsein combinatie met de instellingtimeoutMsForNonInteractiveom de pagina de kans te geven omleidingen uit te voeren. -
timeoutMsForNonInteractive
number optioneel
Chrome 113+ browser.* sinds Chrome 148De maximale tijd, in milliseconden, dat
launchWebAuthFlowin totaal mag worden uitgevoerd in de niet-interactieve modus. Heeft alleen effect alsinteractiveis ingesteld opfalse. -
url
tekenreeks
De URL die het verificatieproces start.
Methoden
clearAllCachedAuthTokens()
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 148Retourneert een Promise die wordt opgelost als de status is gewist.
getAccounts()
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
-
Promise<AccountInfo[]>
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
-
details
TokenDetails optioneel
Tokenopties.
Retourzendingen
-
Promise<GetAuthTokenResult>
Chrome 105 of hoger browser.* sinds Chrome 148Retourneert 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
grantedScopeswordt 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 148Profielopties.
Retourzendingen
-
Promise<ProfileUserInfo>
Chrome 106 of hoger browser.* sinds Chrome 148Retourneert een Promise die wordt omgezet met de
ProfileUserInfovan het primaire Chrome-account of een legeProfileUserInfoals het account met de opgegevendetailsniet 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
-
details
Opties voor WebAuth-stroom.
Retourzendingen
-
Promise<string | undefined>
Chrome 106 of hoger browser.* sinds Chrome 148Retourneert 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
-
details
Tokeninformatie.
Retourzendingen
-
Promise<void>
Chrome 106 of hoger browser.* sinds Chrome 148Retourneert 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
callbackziet er zo uit:(account: AccountInfo, signedIn: boolean) => void
-
account
-
signedIn
booleaans
-