Description
Utilisez l'API chrome.identity
pour obtenir des jetons d'accès OAuth2.
Autorisations
identity
Types
AccountInfo
Propriétés
-
id
chaîne
Identifiant unique du compte. Cet identifiant reste inchangé pendant toute la durée de vie du compte.
AccountStatus
Énumération
"SYNC"
Indique que la synchronisation est activée pour le compte principal.
"N'IMPORTE LEQUEL"
Spécifie l'existence d'un compte principal, le cas échéant.
GetAuthTokenResult
Propriétés
-
grantedScopes
string[] facultatif
Liste des champs d'application OAuth2 accordés à l'extension.
-
jeton
chaîne facultatif
Jeton spécifique associé à la requête.
InvalidTokenDetails
Propriétés
-
jeton
chaîne
Jeton spécifique à supprimer du cache.
ProfileDetails
Propriétés
-
accountStatus
AccountStatus facultatif
État du compte principal connecté à un profil dont
ProfileUserInfo
doit être renvoyé. L'état du compte estSYNC
par défaut.
ProfileUserInfo
Propriétés
-
e-mail
chaîne
Adresse e-mail du compte utilisateur connecté au profil actuel. Ce champ est vide si l'utilisateur n'est pas connecté ou si l'autorisation
identity.email
dans le fichier manifeste n'est pas spécifiée. -
id
chaîne
Identifiant unique du compte. Cet identifiant reste inchangé pendant toute la durée de vie du compte. Ce champ est vide si l'utilisateur n'est pas connecté ou si l'autorisation
identity.email
associée au fichier manifeste n'est pas spécifiée (dans les versions M41 et ultérieures).
TokenDetails
Propriétés
-
compte
AccountInfo facultatif
ID du compte dont le jeton doit être renvoyé. Si aucune valeur n'est spécifiée, la fonction utilise le compte du profil Chrome: le compte de synchronisation s'il y en a un ou le premier compte Web Google.
-
enableGranularPermissions
Booléen facultatif
Chrome 87 ou version ultérieureL'option
enableGranularPermissions
permet aux extensions d'activer rapidement l'écran de consentement précis des autorisations, dans lequel les autorisations demandées sont accordées ou refusées individuellement. -
interactive
Booléen facultatif
Pour récupérer un jeton, l'utilisateur peut être obligé de se connecter à Chrome ou d'approuver les champs d'application demandés par l'application. Si l'indicateur interactif est
true
,getAuthToken
invitera l'utilisateur si nécessaire. Lorsque l'indicateur estfalse
ou omis,getAuthToken
renvoie un échec chaque fois qu'une invite est requise. -
champs d'application
string[] facultatif
Liste des champs d'application OAuth2 à demander.
Lorsque le champ
scopes
est présent, il remplace la liste des champs d'application spécifiés dans le fichier manifest.json.
WebAuthFlowDetails
Propriétés
-
abortOnLoadForNonInteractive
Booléen facultatif
Chrome 113 et versions ultérieuresIndique si
launchWebAuthFlow
doit être arrêté pour les requêtes non interactives après le chargement de la page. Ce paramètre n'a pas d'incidence sur les flux interactifs.Si la valeur est
true
(valeur par défaut), le flux se termine immédiatement après le chargement de la page. Si défini surfalse
, le flux ne se termine qu'après le passage detimeoutMsForNonInteractive
. Cette fonctionnalité est utile pour les fournisseurs d'identité qui utilisent JavaScript pour effectuer des redirections après le chargement de la page. -
interactive
Booléen facultatif
Permet de lancer ou non le flux d'authentification en mode interactif.
Étant donné que certains flux d'authentification peuvent rediriger immédiatement vers une URL de résultat,
launchWebAuthFlow
masque sa vue Web jusqu'à ce que la première navigation redirige vers l'URL finale ou qu'elle ait fini de charger une page censée s'afficher.Si l'option
interactive
est définie surtrue
, la fenêtre s'affiche une fois le chargement de la page terminé. Si l'indicateur estfalse
ou omis,launchWebAuthFlow
renvoie une erreur si la navigation initiale ne termine pas le flux.Pour les flux qui utilisent JavaScript pour la redirection,
abortOnLoadForNonInteractive
peut être défini surfalse
avec le paramètretimeoutMsForNonInteractive
pour permettre à la page d'effectuer d'éventuelles redirections. -
timeoutMsForNonInteractive
numéro facultatif
Chrome 113 et versions ultérieuresDurée maximale totale, en millisecondes, autorisée pour
launchWebAuthFlow
de s'exécuter en mode non interactif. N'a d'effet que si la valeur deinteractive
estfalse
. -
url
chaîne
URL qui lance le flux d'authentification.
Méthodes
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
Réinitialise l'état de l'API Identity:
- Supprime tous les jetons d'accès OAuth2 du cache des jetons
- Supprime les préférences de compte de l'utilisateur
- Annule l'autorisation de l'utilisateur dans tous les flux d'authentification
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
)
Récupère une liste d'objets AccountInfo décrivant les comptes présents dans le profil.
getAccounts
n'est compatible qu'avec la version en développement.
Paramètres
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(accounts: AccountInfo[]) => void
-
comptes
-
Renvoie
-
Promise<AccountInfo[]>
Les promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getAuthToken()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
)
Récupère un jeton d'accès OAuth2 à l'aide de l'ID client et des champs d'application spécifiés dans la section oauth2
du fichier manifest.json.
L'API Identity met en cache les jetons d'accès en mémoire. Vous pouvez donc appeler getAuthToken
de manière non interactive chaque fois qu'un jeton est requis. Le cache de jetons gère automatiquement l'expiration.
Pour une expérience utilisateur de qualité, il est important que les requêtes de jetons interactifs soient initiées par l'interface utilisateur de votre application en expliquant à quoi sert l'autorisation. Dans le cas contraire, vos utilisateurs recevront des demandes d'autorisation ou des écrans de connexion à Chrome s'ils ne sont pas connectés, sans contexte. En particulier, n'utilisez pas getAuthToken
de manière interactive lorsque votre application est lancée pour la première fois.
Remarque: Lorsqu'elle est appelée avec un rappel, cette fonction renvoie les deux propriétés sous la forme d'arguments distincts transmis au rappel au lieu de renvoyer un objet.
Paramètres
-
détails
TokenDetails facultatif
Options de jeton.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(result: GetAuthTokenResult) => void
-
résultatChrome 105 ou version ultérieure
-
Renvoie
-
Promise<GetAuthTokenResult>
Chrome 105 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
Récupère l'adresse e-mail et l'ID GAIA obscurci de l'utilisateur connecté à un profil.
Nécessite l'autorisation de fichier manifeste identity.email
. Sinon, renvoie un résultat vide.
Cette API se distingue de la méthode "Identity.getAccounts" de deux manières. Les informations renvoyées sont disponibles hors connexion et ne s'appliquent qu'au compte principal du profil.
Paramètres
-
détails
ProfileDetails facultatif
Chrome 84 ou version ultérieureOptions du profil.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(userInfo: ProfileUserInfo) => void
-
userInfo
-
Renvoie
-
Promise<ProfileUserInfo>
Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
)
Génère une URL de redirection à utiliser dans launchWebAuthFlow
.
Les URL générées correspondent au format https://<app-id>.chromiumapp.org/*
.
Paramètres
-
chemin d'accès
chaîne facultatif
Chemin ajouté à la fin de l'URL générée.
Renvoie
-
chaîne
launchWebAuthFlow()
chrome.identity.launchWebAuthFlow(
details: WebAuthFlowDetails,
callback?: function,
)
Démarre un flux d'authentification à l'URL spécifiée.
Cette méthode active les flux d'authentification avec des fournisseurs d'identité autres que Google en lançant une vue Web et en y accédant à la première URL du flux d'authentification du fournisseur. Lorsque le fournisseur effectue une redirection vers une URL correspondant au format https://<app-id>.chromiumapp.org/*
, la fenêtre se ferme et l'URL de redirection finale est transmise à la fonction callback
.
Pour garantir une bonne expérience utilisateur, il est important que les flux d'authentification interactifs soient lancés par l'interface utilisateur de votre application en expliquant à quoi sert l'autorisation. À défaut, vos utilisateurs recevront des requêtes d'autorisation sans contexte. En particulier, ne lancez pas de flux d'authentification interactif lorsque votre application est lancée pour la première fois.
Paramètres
-
détails
Options de flux WebAuth.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:(responseUrl?: string) => void
-
responseUrl
chaîne facultatif
-
Renvoie
-
Promise<chaîne | indéfini>
Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
Supprime un jeton d'accès OAuth2 du cache des jetons de l'API Identity.
Si un jeton d'accès s'avère non valide, il doit être transmis à removeCachedAuthToken pour le supprimer du cache. L'application peut ensuite récupérer un nouveau jeton avec getAuthToken
.
Paramètres
-
détails
Informations sur le jeton.
-
rappel
function facultatif
Le paramètre
callback
se présente comme suit:() => void
Renvoie
-
Promesse<void>
Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
Événements
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
Déclenché lorsque l'état de connexion change pour un compte sur le profil de l'utilisateur.
Paramètres
-
rappel
fonction
Le paramètre
callback
se présente comme suit:(account: AccountInfo, signedIn: boolean) => void
-
compte
-
signedIn
booléen
-