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(
callback?: function,
): Promise<void>
Hiermee wordt de status van de Identity API gereset:
- Verwijdert alle OAuth2-toegangstokens uit de tokencache.
- Verwijdert de accountvoorkeuren van de gebruiker.
- Hiermee wordt de gebruiker de toegang tot alle authenticatiestromen ontzegd.
Parameters
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:() => void
Retourneert
Promise<void>
Chrome 106+Retourneert een Promise die wordt opgelost wanneer de status is gewist.
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): 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.
Parameters
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(accounts: AccountInfo[]) => void
- rekeningen
AccountInfo []
Retourneert
Promise< AccountInfo []>
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): 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.
Voor een goede gebruikerservaring is het belangrijk dat interactieve tokenverzoeken worden geïnitieerd door de gebruikersinterface van uw app, waarbij wordt uitgelegd waarvoor de autorisatie dient. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken te zien, of het inlogscherm van Chrome als ze niet zijn ingelogd, zonder enige context. Gebruik getAuthToken in het bijzonder niet interactief wanneer uw app voor het eerst wordt gestart.
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.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(result: GetAuthTokenResult) => void
- resultaatChrome 105+
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.Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): 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.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(userInfo: ProfileUserInfo) => void
- gebruikersinfo
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.Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
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,
callback?: function,
): 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 .
Voor een goede gebruikerservaring is het belangrijk dat interactieve authenticatiestromen worden geïnitieerd door de gebruikersinterface van uw app, die uitlegt waarvoor de autorisatie dient. Als u dit niet doet, zullen uw gebruikers autorisatieverzoeken zonder context ontvangen. Start in het bijzonder geen interactieve authenticatiestroom wanneer uw app voor het eerst wordt opgestart.
Parameters
- details
Opties voor de WebAuth-flow.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(responseUrl?: string) => void
- responseUrl
string optioneel
Retourneert
Promise<string | undefined>
Chrome 106+Retourneert een Promise die wordt opgelost door de URL terug te leiden naar uw applicatie.
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
): 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.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:() => void
Retourneert
Promise<void>
Chrome 106+Retourneert een Promise die wordt opgelost wanneer het token uit de cache is verwijderd.
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
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