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
Enum
"SYNCHRONISEREN" "ELK"
Geeft aan dat synchronisatie is ingeschakeld voor het primaire account.
Geeft aan of er een primaire rekening 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 het verzoek is gekoppeld.
InvalidTokenDetails
Eigenschappen
- token
snaar
Het specifieke token dat uit de cache verwijderd moet worden.
ProfileDetails
Eigenschappen
- accountStatus
AccountStatus optioneel
De status van het primaire account dat is aangemeld bij een profiel waarvan
ProfileUserInfomoet worden geretourneerd. Standaard is dit de statusSYNCaccount'.
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.emailniet 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.emailniet 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
enableGranularPermissionsstelt 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, zalgetAuthTokende gebruiker indien nodig om bevestiging vragen. Wanneer de vlag is ingesteldfalseof ontbreekt, zalgetAuthTokeneen foutmelding geven wanneer een prompt vereist is. - scopes
string[] optioneel
Een lijst met OAuth2-scopes die moeten worden aangevraagd.
Als het veld
scopesaanwezig is, overschrijft het de lijst met scopes die in manifest.json zijn gespecificeerd.
WebAuthFlowDetails
Eigenschappen
- abortOnLoadForNonInteractive
boolean optioneel
Chrome 113+Of
launchWebAuthFlowmoet 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 opfalse, wordt de flow pas beëindigd nadat detimeoutMsForNonInteractiveis 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
launchWebAuthFlowde webweergave totdat de eerste navigatie doorverwijst naar de uiteindelijke URL of totdat een pagina die moet worden weergegeven volledig is geladen.Als de
interactivevlagtrueis, wordt het venster weergegeven zodra de pagina volledig is geladen. Als de vlagfalseis of ontbreekt, retourneertlaunchWebAuthFloween foutmelding als de initiële navigatie de flow niet voltooit.Voor flows die JavaScript gebruiken voor omleidingen, kan
abortOnLoadForNonInteractiveopfalseworden gezet in combinatie mettimeoutMsForNonInteractiveom de pagina de kans te geven eventuele omleidingen uit te voeren. - timeoutMsForNonInteractive
nummer optioneel
Chrome 113+De maximale tijdsduur, in milliseconden,
launchWebAuthFlowin niet-interactieve modus mag draaien. Dit heeft alleen effect alsinteractivefalseis. - URL
snaar
De URL die het authenticatieproces start.
Methoden
clearAllCachedAuthTokens()
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()
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
Promise< AccountInfo []>
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
- details
TokenDetails optioneel
Tokenopties.
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
grantedScopeswordt 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
- details
Profielgegevens (optioneel)
Chrome 84+Profielopties.
Retourneert
Promise< ProfileUserInfo >
Chrome 106+Retourneert een Promise die wordt opgelost met de
ProfileUserInfovan het primaire Chrome-account, of een legeProfileUserInfoals het account met de opgegevendetailsniet 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
- details
Opties voor de WebAuth-flow.
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
- details
Tokeninformatie.
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
callbackparameter ziet er als volgt uit:(account: AccountInfo, signedIn: boolean) => void
- rekening
- ingelogd
booleaans