> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub

> Connectez vos agents d’IA à GitHub pour accéder aux dépôts, gérer les tickets et soutenir les flux de production des développeurs.

Connectez vos agents d’IA à GitHub pour accéder aux dépôts, gérer les tickets et automatiser les flux de production des développeurs.

## Connecter GitHub à Auth0

**Autorisations des applications GitHub :** Les applications GitHub [utilisent des autorisations granulaires](https://docs.github.com/en/enterprise-server@3.17/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps#requesting-permission-levels-for-resources); il n’est donc pas possible de demander des autorisations lors de la configuration de Token Vault. Vous devez plutôt définir les autorisations requises au moment de créer l’application GitHub dans les paramètres de développeur GitHub.

**1. Configuration de GitHub**

<ol>
  <li>
    Inscrivez-vous pour obtenir un [compte de développeur GitHub](https://github.com/signup)
  </li>

  <li>
    Configurez une nouvelle application GitHub dans [GitHub Developer Settings > GitHub
    Apps](https://github.com/settings/apps/new)
  </li>

  <li>
    Utilisez les paramètres suivants pour configurer votre application GitHub :

    <ul>
      <li>**Homepage URL** : `https://YOUR_AUTH0_DOMAIN`</li>
      <li>**Callback URL** : `https://YOUR_AUTH0_DOMAIN/login/callback`</li>
      <li>**Webhook Active** : Désactivé</li>
      <li>**Permissions** : Sélectionnez les autorisations appropriées pour votre application</li>
    </ul>

    You can find the **Auth0 domain** in the [Auth0 Dashboard](https://manage.auth0.com/).

    You can find this under **Applications > \[Your Application] > Settings > Basic Information > Domain**.

    If you are using the [custom domains](/docs/customize/custom-domains) feature, your Auth0 domain is the custom domain. You can find this under **Branding > Custom Domains**.
  </li>

  <li>
    Sélectionnez **Create**, puis générez un nouveau secret client dans la page **App settings**
    qui s’affiche.
  </li>

  <li>Notez votre **Client ID** et votre **Secret client**</li>
</ol>

**2. Configuration d’Auth0**

<ol>
  <li>
    Dans l’[Auth0 Dashboard](https://manage.auth0.com/), accédez à
    **Authentication > Social**. Sélectionnez **Create Connection**, puis
    **GitHub**. Sélectionnez **Continue**.
  </li>

  <li>
    Dans **General**, saisissez le **Client ID** et le **Secret client** de
    l’application OAuth GitHub que vous avez créée.
  </li>

  <li>
    Dans **Purpose**, activez **Comptes connectés pour Token Vault**. La
    connexion pourra ainsi récupérer et stocker en toute sécurité des jetons d’accès pour des API externes. Pour en savoir plus, consultez [Comptes connectés pour Token
    Vault](/docs/fr-ca/secure/call-apis-on-users-behalf/token-vault/connected-accounts-for-token-vault).
  </li>

  <li>Sélectionnez **Create**.</li>

  <li>
    Une fois l’enregistrement effectué, accédez à l’onglet **Applications** et sélectionnez les applications
    qui doivent utiliser cette connexion.
  </li>
</ol>

Si votre application utilise la fonctionnalité [Organisations](/docs/fr-ca/manage-users/organizations), authentifiez l’utilisateur auprès de l’organisation cible avant de lancer le flux Connected Accounts. Token Vault stocke tout de même le compte GitHub connecté dans le profil Auth0 de l’utilisateur; chaque membre de l’organisation autorise donc son propre compte GitHub.

Ce guide vous explique comment configurer la connexion **GitHub** dans Auth0.
Pour un exemple complet montrant comment configurer votre application afin d’appeler des API tierces au nom de l’utilisateur
à l’aide d’une telle connexion, consultez le guide de démarrage rapide
[Appeler des API tierces au nom de l’utilisateur](/ai/docs/get-started/call-third-party-apis-on-users-behalf).

## Exemple de configuration de Token Vault

Pour configurer Token Vault pour votre connexion GitHub, vous pouvez utiliser l'extrait de code suivant dans votre application :

**JavaScript**

```tsx wrap lines theme={null}
const auth0AI = new Auth0AI();

export const withGitHubConnection = auth0AI.withTokenVault({
  connection: "github",
  // les permissions ne sont pas encore prises en charge pour GitHub. Définissez les permissions requises lors de la création de l'application GitHub associée
  scopes: [],
  refreshToken: getAuth0RefreshToken(),
});
```

**Python**

```python wrap lines theme={null}
auth0_ai = Auth0AI()

with_github_connection = auth0_ai.with_token_vault(
    connection="github",
    # les permissions ne sont pas encore prises en charge pour GitHub. Définissez les permissions requises lors de la création de l'application GitHub associée
    scopes=[],
    refresh_token=get_auth0_refresh_token,
)
```

## Next steps

* To learn how to configure applications to access Token Vault, read [Configure Token Vault](/docs/secure/call-apis-on-users-behalf/token-vault/configure-token-vault).
* If your application uses [Organizations](/docs/manage-users/organizations), authenticate the user with the target organization before initiating the Connected Accounts flow. Connected accounts remain linked to the individual user profile.
* To learn how to get an access token to make a tool call, complete the [Call third-party APIs on user's behalf Quickstart](/ai/docs/get-started/call-third-party-apis-on-users-behalf).
