Beschrijving
Gebruik de chrome.identity
API om OAuth2-toegangstokens te verkrijgen.
Machtigingen
identity
Soorten
AccountInfo
Eigenschappen
- Identiteitskaart
snaar
Een unieke identificatie voor het account. Deze ID verandert niet gedurende de levensduur van het account.
AccountStatus
Enum
"SYNCHRONISEREN" "ELK"
Geeft aan dat synchronisatie is ingeschakeld voor het primaire account.
Specificeert het bestaan van een primair account, indien aanwezig.
GetAuthTokenResult
Eigenschappen
- toegekendScopes
tekenreeks[] optioneel
Een lijst met OAuth2-bereiken die aan de extensie zijn toegekend.
- teken
tekenreeks optioneel
Het specifieke token dat aan de aanvraag is gekoppeld.
InvalidTokenDetails
Eigenschappen
- teken
snaar
Het specifieke token dat uit de cache moet worden verwijderd.
ProfileDetails
Eigenschappen
- accountStatus
AccountStatus optioneel
Een status van het primaire account dat is aangemeld bij een profiel waarvan
ProfileUserInfo
moet worden geretourneerd. Standaard ingesteld opSYNC
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 machtiging
identity.email
manifest niet is opgegeven. - Identiteitskaart
snaar
Een unieke identificatie voor het account. Deze ID verandert niet gedurende de levensduur van het account. Leeg als de gebruiker niet is aangemeld of (in M41+) de
identity.email
-manifestmachtiging niet is opgegeven.
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 als dat er is, of anders het eerste Google-webaccount.
- schakelGranularPermissions in
Booleaans optioneel
Chroom 87+Met de vlag
enableGranularPermissions
kunnen extensies zich vroegtijdig aanmelden voor het gedetailleerde toestemmingsscherm, waarin aangevraagde machtigingen afzonderlijk worden verleend of geweigerd. - interactieve
Booleaans optioneel
Voor het ophalen van een token moet de gebruiker mogelijk inloggen bij Chrome of de aangevraagde bereiken van de applicatie goedkeuren. Als de interactieve vlag
true
is, zalgetAuthToken
de gebruiker indien nodig vragen. Wanneer de vlagfalse
is of wordt weggelaten, retourneertgetAuthToken
een fout telkens wanneer een prompt nodig zou zijn. - reikwijdten
tekenreeks[] optioneel
Een lijst met OAuth2-bereiken die moeten worden aangevraagd.
Wanneer het veld
scopes
aanwezig is, overschrijft het de lijst met scopes die is opgegeven in manifest.json.
WebAuthFlowDetails
Eigenschappen
- abortOnLoadForNonInteractive
Booleaans optioneel
Chroom 113+Of
launchWebAuthFlow
moet worden beëindigd voor niet-interactieve verzoeken nadat de pagina is geladen. Deze parameter heeft geen invloed op interactieve stromen.Indien ingesteld op
true
(standaard), wordt de stroom onmiddellijk beëindigd nadat de pagina is geladen. Als deze is ingesteld opfalse
, wordt de stroom pas beëindigd nadat detimeoutMsForNonInteractive
is verstreken. Dit is handig voor identiteitsproviders die JavaScript gebruiken om omleidingen uit te voeren nadat de pagina is geladen. - interactieve
Booleaans optioneel
Of de verificatiestroom in de interactieve modus moet worden gestart.
Omdat sommige auth-stromen onmiddellijk kunnen omleiden naar een resultaat-URL, verbergt
launchWebAuthFlow
de webweergave totdat de eerste navigatie doorverwijst naar de uiteindelijke URL, of klaar is met het laden van een pagina die bedoeld is om te worden weergegeven.Als de
interactive
vlagtrue
is, wordt het venster weergegeven wanneer het laden van een pagina is voltooid. Als de vlagfalse
is of wordt weggelaten, keertlaunchWebAuthFlow
terug met een fout als de initiële navigatie de stroom niet voltooit.Voor stromen die JavaScript gebruiken voor omleiding, kan
abortOnLoadForNonInteractive
worden ingesteld opfalse
in combinatie met het instellen vantimeoutMsForNonInteractive
om de pagina een kans te geven om omleidingen uit te voeren. - time-outMsForNonInteractive
nummer optioneel
Chroom 113+De maximale hoeveelheid tijd, in miliseconden, dat
launchWebAuthFlow
in totaal in de niet-interactieve modus mag draaien. Heeft alleen effect alsinteractive
false
is. - URL
snaar
De URL die de verificatiestroom initieert.
Methoden
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
Reset de status van de Identity API:
- Verwijdert alle OAuth2-toegangstokens uit de tokencache
- Verwijdert de accountvoorkeuren van de gebruiker
- Hiermee wordt de autorisatie van de gebruiker voor alle verificatiestromen ingetrokken
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 106+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
Haalt een lijst met AccountInfo-objecten op die de accounts beschrijven die in het profiel aanwezig zijn.
getAccounts
wordt alleen ondersteund op ontwikkelaarskanaal.
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(accounts: AccountInfo[]) => void
- rekeningen
AccountInfo []
Retouren
Beloof < AccountInfo []>
Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
Haalt een OAuth2-toegangstoken op met behulp van de client-ID en bereiken die zijn opgegeven in de oauth2
sectie van manifest.json .
De Identity API bewaart toegangstokens in het geheugen, dus het is prima om getAuthToken
niet-interactief aan te roepen telkens wanneer een token vereist is. De tokencache verwerkt automatisch de vervaldatum.
Voor een goede gebruikerservaring is het belangrijk dat er interactieve tokenverzoeken worden geïnitieerd door de UI in uw app, waarin wordt uitgelegd waarvoor de autorisatie dient. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken of Chrome-inlogschermen als ze niet zijn ingelogd, zonder context. Gebruik getAuthToken
vooral niet interactief wanneer uw app voor het eerst wordt gestart.
Opmerking: wanneer deze wordt aangeroepen met een callback, retourneert deze functie, in plaats van een object terug te geven, de twee eigenschappen als afzonderlijke argumenten die aan de callback worden doorgegeven.
Parameters
- details
TokenDetails optioneel
Token-opties.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(result: GetAuthTokenResult) => void
- resultaatChroom 105+
Retouren
Beloof < GetAuthTokenResult >
Chroom 105+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
Haalt het e-mailadres en de verborgen gaia-ID op van de gebruiker die is ingelogd op een profiel.
Vereist de identity.email
-manifesttoestemming. 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+Profiel opties.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(userInfo: ProfileUserInfo) => void
- gebruikersinfo
Retouren
Beloof <ProfielGebruikersInfo>
Chroom 106+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: 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
tekenreeks optioneel
Het pad dat aan het einde van de gegenereerde URL is toegevoegd.
Retouren
snaar
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
Start een verificatiestroom op de opgegeven URL.
Deze methode maakt verificatiestromen met niet-Google-identiteitsproviders mogelijk door een webweergave te starten en deze naar de eerste URL in de verificatiestroom van de provider te navigeren. Wanneer 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 callback
functie.
Voor een goede gebruikerservaring is het belangrijk dat interactieve authenticatiestromen worden geïnitieerd door de gebruikersinterface in uw app, waarin wordt uitgelegd waarvoor de autorisatie dient. Als u dit niet doet, krijgen uw gebruikers autorisatieverzoeken zonder context. Start met name geen interactieve verificatiestroom wanneer uw app voor het eerst wordt gestart.
Parameters
- details
WebAuth-stroomopties.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(responseUrl?: string) => void
- reactieUrl
tekenreeks optioneel
Retouren
Belofte<tekenreeks | ongedefinieerd>
Chroom 106+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
Verwijdert een OAuth2-toegangstoken uit de tokencache van de Identity API.
Als wordt ontdekt dat een toegangstoken ongeldig is, 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
Token-informatie.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 106+Beloftes worden alleen ondersteund voor Manifest V3 en hoger, andere platforms moeten callbacks gebruiken.
Evenementen
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Wordt geactiveerd wanneer de aanmeldingsstatus verandert voor een account in het profiel van de gebruiker.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(account: AccountInfo, signedIn: boolean) => void
- rekening
- ondertekendIn
Booleaans