Utilisez l'API d'identité pour obtenir un code d'autorisation ou un jeton d'accès OAuth2, qu'une extension peut ensuite utiliser pour accéder aux données utilisateur d'un service prenant en charge l'accès à OAuth2 (tel qu'un compte Google ou Facebook).

Les détails du fonctionnement du flux OAuth2 diffèrent d'un fournisseur de services à l'autre. Pour utiliser cette API avec un fournisseur de services particulier, vous devez consulter leur documentation. Par exemple :

L'API d'identité fournit la fonction identity.launchWebAuthFlow(). Cela authentifie l'utilisateur avec le service, si nécessaire, et demande à l'utilisateur d'autoriser l'extension à accéder aux données, si nécessaire. La fonction se termine par un jeton d'accès ou un code d'autorisation, selon le fournisseur.

L'extension termine alors le flux OAuth2 pour obtenir un jeton d'accès validé, et peut ensuite l'utiliser dans les requêtes HTTP pour accéder aux données de l'utilisateur en fonction de l'autorisation donnée par l'utilisateur.

Pour utiliser cette API, vous devez posséder la permission de l'API "identity"

Installer

Il y a une certaine configuration que vous devez faire avant de publier votre extension.

Obtenir l'URL de redirection

L'URL de redirection représente le point final de identity.launchWebAuthFlow(), dans lequel le jeton d'accès ou le code d'autorisation est remis à l'extension..

Vous pouvez obtenir une URL de redirection en appelant identity.getRedirectURL(). Cette fonction dérive une URL de redirection à partir de l'ID du module, donc si vous voulez l'utiliser, vous devez probablement définir explicitement l'ID de votre module en utilisant la clé des applications (sinon, chaque fois que vous installez temporairement le module complémentaire, vous obtiendrez une URL de redirection différente).

Vous n'avez pas besoin d'utiliser l'URL de redirection retournée par  identity.getRedirectURL(): vous pouvez fournir la vôtre, et cela peut être tout ce que le service redirigera. Cependant, il devrait utiliser un domaine que vous contrôlez.

Vous utiliserez l'URL de redirection à deux endroits :

  • Fournissez-le lors de l'enregistrement de votre extension en tant que client OAuth2
  • Transmettez-le dans identity.launchWebAuthFlow(), en tant que paramètre d'URL ajouté à l'argument url de cette fonction.

Enregistrement de votre extension

Avant de pouvoir utiliser OAuth2 avec un fournisseur de services, vous devez enregistrer l'extension auprès du fournisseur en tant que client OAuth2.

Cela aura tendance à être spécifique au fournisseur de services, mais en général cela signifie créer une entrée pour votre extension sur le site Web du fournisseur. Dans ce processus, vous fournirez votre URL de redirection, et recevrez un identifiant de client (et parfois aussi un secret). Vous devrez passer les deux dans  identity.launchWebAuthFlow().

Fonctions

identity.getRedirectURL()
Obtient l'URL de redirection.
identity.launchWebAuthFlow()
Lancement WAF.

Compatibilité du navigateur

ChromeEdgeFirefoxFirefox for AndroidOpera
getRedirectURL Oui Non53 Non Non
launchWebAuthFlow Oui Non53 Non Oui

Example extensions

Remerciements :

Cette API est basée sur l'API Chromium chrome.identity.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,