Description
Utilisez l'API chrome.identity pour obtenir des jetons d'accès OAuth2.
Autorisations
identityTypes
AccountInfo
Propriétés
- 
    idchaîne Identifiant unique du compte. Cet ID ne changera pas pendant toute la durée de vie du compte. 
AccountStatus
É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
Propriétés
- 
    grantedScopesstring[] facultatif Liste des champs d'application OAuth2 accordés à l'extension. 
- 
    jetonchaîne facultative Jeton spécifique associé à la requête. 
InvalidTokenDetails
Propriétés
- 
    jetonchaîne Jeton spécifique à supprimer du cache. 
ProfileDetails
Propriétés
- 
    accountStatusAccountStatus facultatif État du compte principal connecté à un profil dont le ProfileUserInfodoit être renvoyé. La valeur par défaut est l'état du compteSYNC.
ProfileUserInfo
Propriétés
- 
    e-mailchaî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.emailn'est pas spécifiée.
- 
    idchaî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 de fichier manifeste identity.emailn'est pas spécifiée.
TokenDetails
Propriétés
- 
    compteAccountInfo facultatif Numéro du 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 existe, ou le premier compte Web Google. 
- 
    enableGranularPermissionsbooléen facultatif Chrome 87 et versions ultérieuresL'indicateur enableGranularPermissionspermet aux extensions d'activer l'écran de consentement pour les autorisations détaillées de manière anticipée, dans lequel les autorisations demandées sont accordées ou refusées individuellement.
- 
    interactivebooléen facultatif Pour récupérer un jeton, l'utilisateur peut être amené à se connecter à Chrome ou à approuver les champs d'application demandés par l'application. Si le signalement interactif est défini sur true,getAuthTokeninvite l'utilisateur si nécessaire. Lorsque l'indicateur est défini surfalseou omis,getAuthTokenrenvoie un échec chaque fois qu'une invite est requise.
- 
    scopesstring[] facultatif Liste des habilitations OAuth2 à demander. Lorsque le champ scopesest présent, il remplace la liste des champs d'application spécifiés dans manifest.json.
WebAuthFlowDetails
Propriétés
- 
    abortOnLoadForNonInteractivebooléen facultatif Chrome 113 et versions ultérieuresIndique si launchWebAuthFlowdoit être arrêté pour les requêtes non interactives après le chargement de la page. Ce paramètre n'a aucune incidence sur 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 surfalse, le flux ne se termine qu'une fois letimeoutMsForNonInteractiveécoulé. Cela est utile pour les fournisseurs d'identité qui utilisent JavaScript pour effectuer des redirections après le chargement de la page.
- 
    interactivebooléen 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, launchWebAuthFlowmasque sa vue Web jusqu'à ce que la première navigation redirige vers l'URL finale ou termine de charger une page destinée à être affichée.Si l'indicateur interactiveest défini surtrue, la fenêtre s'affiche une fois le chargement d'une page terminé. Si l'indicateur est défini surfalseou omis,launchWebAuthFlowrenverra une erreur si la navigation initiale ne termine pas le flux.Pour les flux qui utilisent JavaScript pour la redirection, abortOnLoadForNonInteractivepeut être défini surfalseen combinaison avec la définition detimeoutMsForNonInteractivepour donner à la page la possibilité d'effectuer des redirections.
- 
    timeoutMsForNonInteractivenumber facultatif Chrome 113 et versions ultérieureslaunchWebAuthFlowest la durée maximale, en millisecondes, pendant laquelle l'exécution en mode non interactif est autorisée au total. N'a d'effet que siinteractiveest défini surfalse.
- 
    urlchaîne URL qui lance le flux d'authentification. 
Méthodes
clearAllCachedAuthTokens()
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
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
Récupère une liste d'objets AccountInfo décrivant les comptes présents dans le profil.
getAccounts n'est disponible que sur le canal de développement.
Paramètres
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(accounts: AccountInfo[]) => void - 
    comptes
 
- 
    
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()
chrome.identity.getAuthToken(
details?: TokenDetails,
callback?: function,
): Promise<GetAuthTokenResult>
Obtient un jeton d'accès OAuth 2 à 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 bonne expérience utilisateur, il est important que les demandes de jetons interactifs soient initiées par l'UI 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 lorsque votre application est lancée pour la première fois.
Remarque : Lorsqu'elle est appelée avec un rappel, au lieu de renvoyer un objet, cette fonction renvoie les deux propriétés sous forme d'arguments distincts transmis au rappel.
Paramètres
- 
    détailsTokenDetails facultatif Options de jeton. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(result: GetAuthTokenResult) => void - 
    résultatChrome 105 et versions ultérieures
 
- 
    
Renvoie
- 
            Promise<GetAuthTokenResult> Chrome 105 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
getProfileUserInfo()
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étailsProfileDetails facultatif Chrome 84 et versions ultérieuresOptions de profil. 
- 
    callbackfunction facultatif Le paramètre callbackse 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 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èschaîne facultative Chemin ajouté à la fin de l'URL générée. 
Renvoie
- 
            chaîne 
launchWebAuthFlow()
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 les flux d'authentification avec des fournisseurs d'identité non Google en lançant une vue Web et en la redirigeant vers la première URL du flux d'authentification du fournisseur. Lorsque le fournisseur redirige vers une URL correspondant au modèle 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 optimale, il est important que les flux d'authentification interactifs soient initiés par l'UI de votre application, qui explique à quoi sert l'autorisation. Si vous ne le faites pas, vos utilisateurs recevront des demandes d'autorisation sans contexte. En particulier, ne lancez pas de flux d'authentification interactif au premier lancement de votre application.
Paramètres
- 
    détailsOptions du flux WebAuth. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(responseUrl?: string) => void - 
    responseUrlchaîne facultative 
 
- 
    
Renvoie
- 
            Promise<string | undefined> Chrome 106 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
removeCachedAuthToken()
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
- 
    détailsInformations sur le jeton. 
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
Renvoie
- 
            Promise<void> Chrome 106 et versions ultérieuresLes 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 d'un compte du profil de l'utilisateur change.
Paramètres
- 
    callbackfonction Le paramètre callbackse présente comme suit :(account: AccountInfo, signedIn: boolean) => void - 
    compte
- 
    signedInbooléen 
 
-