# Résolution des problèmes liés à l’authentification CLI GitHub Copilot

Diagnostiquer les échecs d’authentification lors de la connexion à Copilot CLI.

## Erreurs d’authentification

Si vous rencontrez des erreurs d’authentification, utilisez le tableau ci-dessous pour identifier la cause et la résolution.

| Problème                                                                              | La cause                                                       | Réparer                                                         | Plus d’informations |
| ------------------------------------------------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------- | ------------------- |
| Aucune information d’authentification trouvée                                         | Aucune information d’identification stockée                    | exécuter `copilot login`.                                       |                     |
| [Aucune information d’authentification trouvée](#no-authentication-information-found) |                                                                |                                                                 |                     |
| 401 Non autorisé                                                                      | Jeton révoqué ou autorisations insuffisantes                   | Générer un jeton avec des autorisations                         |                     |
| [Jeton expiré ou révoqué](#token-expired-or-revoked)                                  |                                                                |                                                                 |                     |
| Token (classic) Rejeté                                                                |                                                                |                                                                 |                     |
| Token (classic) (`ghp_`)                                                              | Utiliser un grain fin personal access token                    |                                                                 |                     |
| \[                                                                                    |                                                                |                                                                 |                     |
| Token (classic) Rejeté]\(#token-classic-rejected)                                     |                                                                |                                                                 |                     |
| 403 Interdit ou stratégie refusée                                                     |                                                                |                                                                 |                     |
| Copilot licence ou politique d’entreprise/d'organisation                              | Vérifier les paramètres d’abonnement et d’organisation         |                                                                 |                     |
| [Access refusé](#access-denied)                                                       |                                                                |                                                                 |                     |
| Trousseau indisponible                                                                | Trousseau de clés système manquant                             | Installer `libsecret` ou accepter du texte en clair             |                     |
| [Échec d’accès au trousseau](#keychain-access-failure)                                |                                                                |                                                                 |                     |
| Compte incorrect                                                                      | Plusieurs comptes ou remplacement via variable d’environnement | Vérifiez les variables d'environnement, utilisez `/user switch` |                     |
| [Compte incorrect](#wrong-account)                                                    |                                                                |                                                                 |                     |

## Aucune information d’authentification trouvée

Copilot CLI affiche l’erreur suivante :

<!-- markdownlint-disable GHD005 -->

```text
Error: No authentication information found
Copilot can be authenticated with GitHub using an OAuth Token or a Fine-Grained Personal Access Token
```

<!-- markdownlint-enable GHD005 -->

### La cause

Aucun identifiant n’existe dans les emplacements vérifiés.

### Réparer

Procédez comme suit pour déterminer où l'authentification est manquante et restaurer l'accès.

#### Vérifier l’état de votre authentification

```bash copy
gh auth status
```

Si vous voyez un message indiquant que vous n’êtes pas connecté, connectez-vous avec `gh auth login` ou utilisez le flux OAuth avec `copilot login`.

#### Vérifier si une variable d’environnement d’authentification est définie

Si vous utilisez une variable d’environnement, vérifiez si la variable d’environnement `COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, ou `GITHUB_TOKEN` est définie :

```bash copy
echo $COPILOT_GITHUB_TOKEN
```

Si la commande n’affiche rien, la variable n’est pas définie. Définissez la variable à un jeton valide. Pour générer un jeton, consultez [Authentification de GitHub Copilot CLI](/fr/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli#authenticating-with-environment-variables).

```bash copy
 export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN
```

#### trousseau macOS

```bash copy
security find-generic-password -s copilot-cli
```

Si aucun élément n’est trouvé, authentifiez-vous à nouveau avec `/login` ou `copilot login` pour en créer un.
Si un élément est trouvé mais que l’authentification échoue toujours, supprimez les informations d’identification enregistrées, puis authentifiez-vous à nouveau avec `/login` ou `copilot login`:

```bash copy
  security delete-generic-password -s copilot-cli
```

## Jeton expiré ou révoqué

Copilot CLI affiche l’erreur suivante :

<!-- markdownlint-disable GHD005 -->

```text
Error: Authentication failed

Your GitHub token may be invalid, expired, or lacking the required permissions.

To resolve this, try the following:
  • Start 'copilot' and run the '${LOGIN_COMMAND}' command to re-authenticate
  • If using a Fine-Grained PAT, ensure it has the 'Copilot Requests' permission enabled
  • If using COPILOT_GITHUB_TOKEN, GH_TOKEN or GITHUB_TOKEN environment variable, verify the token is valid and not expired
  • Run 'gh auth status' to check your current authentication status
```

<!-- markdownlint-enable GHD005 -->

### La cause

Le jeton a été révoqué, a expiré ou a été créé sans les autorisations requises.

### Réparer

Passez en revue l’état et les autorisations du jeton sur GitHub. Le jeton doit être détenu fine-grained personal access token par votre **compte personnel** (et non par une organisation) avec l’autorisation **Copilot Demandes** . Générez un nouveau jeton avec les autorisations requises si nécessaire.

## Token (classic) Rejeté

Un jeton commençant par `ghp_` est ignoré en mode silencieux et l’interface CLI se comporte comme si aucun jeton n’est défini.

### La cause

Les classiques personal access tokens ne sont pas pris en charge par Copilot CLI.

### Réparer

Générez un personal access token détaillé avec les périmètres requis.

## Access refusé

Copilot CLI affiche l’une des erreurs suivantes :

```text
Error: Access denied by policy settings

Your Copilot CLI policy setting may be preventing access. This can happen when:
  • Your organization has restricted Copilot access
  • Your Copilot subscription does not include this feature
  • Required policies have not been enabled by your administrator

To resolve this, visit your Copilot settings: 
```

### La cause

Une stratégie d’organisation bloque GitHub Copilot CLIou le compte d’utilisateur n’a pas de GitHub Copilot licence.

### Réparer

* Vérifiez que votre compte dispose d’une licence active GitHub Copilot .
* Demandez à l’administrateur de votre organisation d’activer GitHub Copilot CLI dans la stratégie d’organisation.

## Échec d’accès au trousseau

Lors de la connexion, l’interface en ligne de commande vous indique que le trousseau système n’est pas disponible et vous demande si vous souhaitez stocker les identifiants en clair.

```text
System keychain unavailable. Store token in plaintext config file? (y/N)
```

### La cause

Le trousseau du système n’est pas accessible. Cela peut se produire sur les systèmes Linux sans `libsecret`, sur des serveurs sans interface graphique ou sur des systèmes présentant un problème d’autorisation.

### Réparer

Suivez les étapes de votre système d’exploitation pour restaurer le stockage des informations d’identification sécurisées.

#### macOS ou Windows

Sur macOS, vérifiez que l'application Trousseau d'accès est disponible et que vous pouvez déverrouiller votre trousseau session.
Sur Windows, vérifiez que le Gestionnaire d’informations d’identification est disponible et que vous pouvez accéder au coffre Windows.
Si vous ne pouvez pas accéder au gestionnaire d’informations d’identification système, utilisez le stockage en texte clair (si vous y êtes invité) ou authentifiez-vous à l’aide d’un jeton de variable d’environnement, puis réexécutez `/login` ou `copilot login`.

#### Linux

Sur Linux, utilisez le keyring système ou stockez les informations d’identification en texte clair.

1. Vérifiez si `secret-tool` est installé.

   ```bash copy
   command -v secret-tool
   ```

2. Si `secret-tool` elle est introuvable ou si la commande de recherche ne retourne aucun résultat, installez `libsecret` et ses dépendances. Par exemple, sur Debian et Ubuntu, vous pouvez utiliser la commande suivante. »

   ```bash copy
   sudo apt install libsecret-1-0 gnome-keyring seahorse
   ```

3. Une fois `secret-tool` installé, recherchez dans le trousseau une information d’identification enregistrée :

   ```bash copy
   secret-tool search copilot-cli
   ```

   Si la commande retourne un ou plusieurs résultats, les informations d’identification existent dans le keyring. Exécutez `copilot login` dans le terminal ou `/login` dans Copilot CLI de nouveau.

## Compte incorrect

L’utilisateur incorrect est authentifié ou le jeton appartient à la mauvaise organisation.

### La cause

Plusieurs comptes sont stockés ou une variable d’environnement substitue le jeton stocké.

### Réparer

Pour changer de compte, utilisez `/user switch` à l'invite de commandes CLI ou déconnectez-vous avec `/logout` et exécutez `/login` avec le compte approprié.