chrome.identity

refresh date: 2026-09-25 robots: noindex

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 ID ne changera pas pendant toute la durée de vie du compte.

AccountStatus

Chrome 84 ou version ultérieure

Énumération

"SYNC"
Indique que la synchronisation est activée pour le compte principal.

"ANY"
Spécifie l'existence d'un compte principal, le cas échéant.

GetAuthTokenResult

Chrome 105 ou version ultérieure

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

Chrome 84 ou version ultérieure

Propriétés

  • accountStatus

    AccountStatus facultatif

    État du compte principal connecté à un profil dont l'élément ProfileUserInfo doit être renvoyé. La valeur par défaut est l'état du compte SYNC.

ProfileUserInfo

Propriétés

  • e-mail

    chaîne

    Adresse e-mail du compte utilisateur connecté au profil actuel. Vide si l'utilisateur n'est pas connecté ou si l'autorisation du fichier manifeste identity.email n'est pas spécifiée.

  • id

    chaîne

    Identifiant unique du compte. Cet ID ne changera pas pendant toute la durée de vie du compte. Vide si l'utilisateur n'est pas connecté ou (dans M41+) si l'autorisation du fichier manifeste identity.email n'est pas spécifiée.

TokenDetails

Propriétés

  • compte

    AccountInfo facultatif

    ID de compte dont le jeton doit être renvoyé. Si aucun compte n'est spécifié, la fonction utilise un compte du profil Chrome : le compte de synchronisation s'il en existe un, ou le premier compte Web Google.

  • enableGranularPermissions

    boolean facultatif

    Chrome 87 ou version ultérieure

    L'option enableGranularPermissions permet aux extensions d'activer l'écran de consentement granulaire pour les autorisations, dans lequel les autorisations demandées sont accordées ou refusées individuellement.

  • interactive

    boolean facultatif

    Pour récupérer un jeton, l'utilisateur peut être invité à se connecter à Chrome ou à approuver les champs d'application demandés par l'application. Si l'option interactive est définie sur true, getAuthToken invitera l'utilisateur à agir si nécessaire. Lorsque l'option est définie sur false ou omise, getAuthToken renvoie un échec chaque fois qu'une invite est requise.

  • scopes

    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 manifest.json.

WebAuthFlowDetails

Propriétés

  • abortOnLoadForNonInteractive

    boolean facultatif

    Chrome 113 ou version ultérieure

    Indique si launchWebAuthFlow doit être arrêté pour les requêtes non interactives après le chargement de la page. Ce paramètre n'affecte pas les flux interactifs.

    Si la valeur est définie sur true (par défaut), le flux se termine immédiatement après le chargement de la page. Lorsque ce paramètre est défini sur false, le flux ne se termine qu'une fois que timeoutMsForNonInteractive est passé. Cela est utile pour les fournisseurs d'identité qui utilisent JavaScript pour effectuer des redirections après le chargement de la page.

  • interactive

    boolean facultatif

    Indique si le flux d'authentification doit être lancé 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 termine le chargement d'une page destinée à être affichée.

    Si l'option interactive est définie sur true, la fenêtre s'affiche une fois le chargement de page terminé. Si l'option est définie sur false ou omise, 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 sur false en combinaison avec le paramètre timeoutMsForNonInteractive pour permettre à la page d'effectuer des redirections.

  • timeoutMsForNonInteractive

    number facultatif

    Chrome 113 ou version ultérieure

    Durée maximale, en millisecondes, pendant laquelle launchWebAuthFlow est autorisé à s'exécuter en mode non interactif au total. N'a d'effet que si interactive est défini sur false.

  • url

    chaîne

    URL qui lance le flux d'authentification.

Méthodes

clearAllCachedAuthTokens()

Promise Chrome 87 et versions ultérieures
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)
: Promise<void>

Réinitialise l'état de l'API Identity :

  • Supprime tous les jetons d'accès OAuth2 du cache de jetons
  • Supprime les préférences de compte de l'utilisateur
  • Supprime l'autorisation de l'utilisateur pour tous les flux d'authentification

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 106 ou version ultérieure

    Renvoie une promesse qui se résout lorsque l'état a été effacé.

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getAccounts()

Promesse Version en développement
chrome.identity.getAccounts(
  callback?: function,
)
: Promise<AccountInfo[]>

Récupère une liste d'objets AccountInfo décrivant les comptes présents sur le profil.

getAccounts n'est disponible que dans la version en développement.

Paramètres

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (accounts: AccountInfo[]) => void

Renvoie

  • Promise<AccountInfo[]>

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getAuthToken()

Promise
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)
: Promise<GetAuthTokenResult>

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 demandes de jetons interactifs soient initiées par l'interface utilisateur de votre application, en expliquant à quoi sert l'autorisation. Si vous ne le faites pas, vos utilisateurs recevront des demandes d'autorisation ou des écrans de connexion à Chrome s'ils ne sont pas connectés, sans aucun contexte. En particulier, n'utilisez pas getAuthToken de manière interactive lors du premier lancement de votre application.

Remarque : Lorsqu'elle est appelée avec un rappel, cette fonction renvoie les deux propriétés sous forme d'arguments distincts transmis au rappel, au lieu de renvoyer un objet.

Paramètres

Renvoie

  • Chrome 105 ou version ultérieure

    Renvoie une promesse qui se résout avec un jeton d'accès OAuth2, comme spécifié par le fichier manifeste, ou qui est rejetée en cas d'erreur. Le paramètre grantedScopes est renseigné depuis Chrome 87. Lorsqu'il est disponible, ce paramètre contient la liste des champs d'application accordés correspondant au jeton renvoyé.

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getProfileUserInfo()

Promise
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)
: Promise<ProfileUserInfo>

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 diffère de 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érieure

    Options de profil.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (userInfo: ProfileUserInfo) => void

Renvoie

  • Chrome 106 ou version ultérieure

    Renvoie une promesse qui se résout avec le ProfileUserInfo du compte Chrome principal, ou un ProfileUserInfo vide si le compte avec le details donné n'existe pas.

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)
: 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()

Promise
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)
: Promise<string | undefined>

Démarre un flux d'authentification à l'URL spécifiée.

Cette méthode permet d'activer les flux d'authentification avec des fournisseurs d'identité non Google en lançant une vue Web et en accédant à la première URL du flux d'authentification du fournisseur. Lorsque le fournisseur redirige 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 une expérience utilisateur de qualité, il est important que les flux d'authentification interactifs soient initiés par l'interface utilisateur de votre application, qui explique à quoi sert l'autorisation. Sinon, vos utilisateurs recevront des demandes d'autorisation sans contexte. En particulier, ne lancez pas de flux d'authentification interactif lors du premier lancement de votre application.

Paramètres

  • Options du flux WebAuth.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    (responseUrl?: string) => void

    • responseUrl

      chaîne facultatif

Renvoie

  • Promise<string | undefined>

    Chrome 106 ou version ultérieure

    Renvoie une promesse qui se résout avec l'URL redirigée vers votre application.

    Les promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.

removeCachedAuthToken()

Promise
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)
: Promise<void>

Supprime un jeton d'accès OAuth2 du cache de jetons de l'API Identity.

Si un jeton d'accès s'avère non valide, il doit être transmis à removeCachedAuthToken pour être supprimé du cache. L'application peut ensuite récupérer un nouveau jeton avec getAuthToken.

Paramètres

  • Informations sur le jeton.

  • callback

    function facultatif

    Le paramètre callback se présente comme suit :

    () => void

Renvoie

  • Promise<void>

    Chrome 106 ou version ultérieure

    Renvoie une promesse qui se résout lorsque le jeton a été supprimé du cache.

    Les promesses ne sont compatibles qu'avec Manifest V3 et les 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 du profil de l'utilisateur.

Paramètres

  • callback

    fonction

    Le paramètre callback se présente comme suit :

    (account: AccountInfo, signedIn: boolean) => void