identity
========

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 :

* https://developers.google.com/identity/protocols/OAuth2UserAgent
* https://developer.github.com/v3/oauth/

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é des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* google-userinfo

**Note :**

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.