À propos de l’authentification
Si vous utilisez vos propres clés API de fournisseur LLM (BYOK), GitHub l’authentification n’est pas requise.
L’authentification est requise pour toute autre CLI de GitHub Copilot utilisation.
Lorsque l’authentification est requise, CLI Copilot prend en charge trois méthodes. La méthode que vous utilisez varie selon que vous travaillez de manière interactive ou dans un environnement automatisé.
- Flux d’appareil OAuth : méthode par défaut et recommandée pour une utilisation interactive. Lorsque vous exécutez
/loginCLI Copilot, le CLI génère un code unique et vous dirige à vous authentifier dans votre navigateur. Il s’agit du moyen le plus simple de s’authentifier. - Variables d'environnement : recommandé pour les pipelines CI/CD, les conteneurs et les environnements non interactifs. Vous définissez un jeton pris en charge en tant que variable d’environnement (
COPILOT_GITHUB_TOKENouGH_TOKEN``GITHUB_TOKEN), et l’interface CLI l’utilise automatiquement sans invite. -
** GitHub CLI fallback** : Si vous avez GitHub CLI (`gh`) (remarque : l'`gh` CLI, pas `copilot`) installé et authentifié, CLI Copilot peut automatiquement utiliser son jeton. Il s’agit de la méthode de priorité la plus basse et s’active uniquement quand aucune autre information d’identification n’est trouvée.
Une fois authentifié, CLI Copilot mémorise votre connexion et utilise automatiquement le jeton pour toutes les Copilot demandes d’API. Vous pouvez vous connecter avec plusieurs comptes, et l’interface CLI mémorisera le dernier compte utilisé. La durée de vie et l’expiration des jetons dépendent de la façon dont le jeton a été créé sur vos paramètres de compte ou d’organisation.
Utilisation non authentifiée
Si vous configurez CLI Copilot pour utiliser vos propres clés API de fournisseur LLM (BYOK), GitHub l’authentification n’est pas nécessaire. CLI Copilot peut se connecter directement à votre fournisseur configuré sans compte ou de jeton GitHub.
Toutefois, sans GitHub authentification, les fonctionnalités suivantes ne sont pas disponibles :
-
`/delegate`: Nécessite agent Copilot de cloud, qui s’exécute sur GitHubles serveurs -
GitHub Serveur MCP : nécessite l’authentification pour accéder aux GitHub API -
GitHubRecherche de code : nécessite l’authentification pour interroger l’index de recherche de l’objet GitHub
Vous pouvez combiner BYOK avec l’authentification GitHub pour obtenir le meilleur des deux mondes : votre modèle préféré pour les réponses IA, ainsi que l'accès aux fonctionnalités hébergées par GitHub telles que /delegate et la recherche de code.
Mode hors connexion
Si vous définissez la variable d’environnement COPILOT_OFFLINE sur true, CLI Copilot s’exécute sans contacter GitHub les serveurs. En mode hors connexion :
- Aucune authentification n’est GitHub tentée.
- L’interface CLI effectue uniquement des requêtes réseau à votre fournisseur BYOK configuré.
- La télémétrie est entièrement désactivée.
Le mode hors connexion n’est entièrement aéré que si votre fournisseur BYOK est local ou dans le même environnement isolé (par exemple, un modèle s’exécutant localement sans accès réseau externe). Si COPILOT_PROVIDER_BASE_URL pointe vers un point de terminaison distant ou accessible à Internet, les messages d'invite et le contexte de code sont toujours envoyés sur le réseau vers ce fournisseur. Sans mode hors connexion, même lorsque vous utilisez BYOK sans GitHub authentification, la télémétrie est toujours envoyée normalement.
Types de jetons pris en charge
| Type de jeton | Préfixe | Soutenu | Remarques |
|---|---|---|---|
| Jeton OAuth (flux de dispositifs) | gho_ | Oui | Méthode par défaut via copilot login |
| PAT à granularité fine | github_pat_ | Oui | Doit inclure les autorisations requises Copilot Requests |
| Application GitHub utilisateur à serveur | ghu_ | Oui | Via une variable d’environnement |
| PAT classique | ghp_ | Non | Non pris en charge par CLI Copilot |
Comment Copilot CLI stocke les informations d’identification
Par défaut, l’interface CLI stocke votre jeton OAuth dans le trousseau de votre système d’exploitation sous le nom copilot-clidu service :
| Platform | Trousseau |
|---|---|
| macOS | Trousseau d’accès |
| Windows | Gestionnaire des identifiants |
| Linux | libsecret (GNOME Keyring, KWallet) |
Si le trousseau système n’est pas disponible — par exemple sur un serveur Linux sans interface graphique sans libsecret installé, l’interface en ligne de commande vous invite à stocker le jeton dans un fichier de configuration en clair situé à ~/.copilot/config.json.
Lorsque vous exécutez une commande, CLI Copilot recherche les informations d’identification dans l’ordre suivant :
-
`COPILOT_GITHUB_TOKEN` variable d’environnement -
`GH_TOKEN` variable d’environnement -
`GITHUB_TOKEN` variable d’environnement - Jeton OAuth provenant du trousseau système
- GitHub CLI (
gh auth token) option de repli
Remarque
- Une variable d’environnement remplace silencieusement un jeton OAuth stocké. Si vous définissez
GH_TOKENpour un autre outil, l’interface CLI utilise ce jeton au lieu du jeton OAuth à partir decopilot login. Pour éviter un comportement inattendu, désactivez les variables d'environnement que vous ne voulez pas que la CLI utilise. - Lorsque vous configurez des variables d’environnement de fournisseur BYOK (par exemple,
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEY), CLI Copilot les utilise pour les demandes de modèle IA, quel que soit votre GitHub état d’authentification. GitHub Les jetons sont uniquement nécessaires pour GitHubles fonctionnalités hébergées.
Authentification avec OAuth
Le flux d’appareil OAuth est la méthode d’authentification par défaut pour une utilisation interactive. Vous pouvez vous authentifier en exécutant /login depuis CLI Copilot ou copilot login depuis votre terminal.
S’authentifier avec /login
-
À partir de CLI Copilot, exécutez
/login.Bash /login
/login -
Sélectionnez le compte avec lequel vous souhaitez vous authentifier. Pour GitHub Enterprise Cloud la résidence des données, entrez le nom d’hôte de votre instance
What account do you want to log into? 1. GitHub.com 2. GitHub Enterprise Cloud with data residency (*.ghe.com) -
L’interface CLI affiche un code utilisateur unique et le copie automatiquement dans le Presse-papiers et ouvre votre navigateur.
Waiting for authorization... Enter one-time code: 1234-5678 at https://github.com/login/device Press any key to copy to clipboard and open browser... -
Accédez à l’URL de vérification à
https://github.com/login/devicesi votre navigateur n’a pas ouvert automatiquement. -
Collez le code unique dans le champ de la page.
-
Si votre organisation utilise l’authentification unique SAML, cliquez sur Authorize en regard de chaque organisation à laquelle vous souhaitez accorder access.
-
Passez en revue les autorisations demandées, puis cliquez sur Authorize GitHub Copilot CLI.
-
Revenez à votre terminal. L’interface CLI affiche un message de réussite lorsque l’authentification est terminée.
Signed in successfully as Octocat. You can now use Copilot.
S’authentifier avec copilot login
-
À partir du terminal, exécutez
copilot login. Si vous utilisez GitHub Enterprise Cloud avec résidence des données, passez le nom d’hôte de votre instance.Bash copilot login
copilot loginPour GitHub Enterprise Cloud:
Bash copilot login --host HOSTNAME
copilot login --host HOSTNAMEL’interface CLI affiche un code utilisateur unique et le copie automatiquement dans le Presse-papiers et ouvre votre navigateur.
To authenticate, visit https://github.com/login/device and enter code 1234-5678. -
Accédez à l’URL de vérification à
https://github.com/login/devicesi votre navigateur n’a pas ouvert automatiquement. -
Collez le code unique dans le champ de la page.
-
Si votre organisation utilise l’authentification unique SAML, cliquez sur Authorize en regard de chaque organisation à laquelle vous souhaitez accorder access.
-
Passez en revue les autorisations demandées, puis cliquez sur Authorize GitHub Copilot CLI.
-
Revenez à votre terminal. L’interface CLI affiche un message de réussite lorsque l’authentification est terminée.
Signed in successfully as Octocat.
Authentification avec des variables d’environnement
Pour les environnements non interactifs, vous pouvez vous authentifier en définissant une variable d’environnement avec un jeton pris en charge. Cela est idéal pour les pipelines CI/CD, les conteneurs ou les serveurs sans tête.
- Visitez Fine-grained personal access tokens.
- Sous « Autorisations », cliquez sur Ajouter des autorisations , puis sélectionnez Copilot Demandes.
- Cliquez sur Générer un jeton.
- Exportez le jeton dans votre configuration de terminal ou d’environnement. Utilisez la variable d'environnement
COPILOT_GITHUB_TOKEN,GH_TOKENouGITHUB_TOKEN(par ordre de priorité).
Authentification avec GitHub CLI
Si vous avez GitHub CLI installé et authentifié, CLI Copilot peut utiliser son jeton comme secours. Cette méthode a la priorité la plus basse et s’active uniquement quand aucune variable d’environnement n’est définie et qu’aucun jeton stocké n’est trouvé.
-
Vérifiez que GitHub CLI est authentifié.
Bash gh auth status
gh auth statusSi vous utilisez GitHub Enterprise Cloud avec la résidence des données, vérifiez que le nom d’hôte correct est authentifié.
Bash gh auth status --hostname HOSTNAME
gh auth status --hostname HOSTNAME -
Exécutez
copilot. L’interface CLI Copilot utilise automatiquement le jeton GitHub CLI. -
Exécutez
/userpour vérifier votre compte authentifié dans l’interface CLI.
Basculement entre comptes
CLI Copilot prend en charge plusieurs comptes. Vous pouvez répertorier les comptes disponibles et basculer entre eux à partir de l’interface CLI. Pour répertorier les comptes disponibles, exécutez `/user list` depuis l'invite CLI Copilot. Pour passer à un autre compte, saisissez `/user switch` dans la requête.
Pour ajouter un autre compte, exécutez une copilot login nouvelle session de terminal ou exécutez la commande de connexion à partir de l’interface CLI et autorisez-la avec l’autre compte.
Déconnexion et suppression des informations d’identification
Pour vous déconnecter, tapez /logout à l’invite CLI Copilot . Cela supprime le jeton stocké localement, mais ne le révoque pas sur GitHub.
Pour révoquer l’autorisation de l’application OAuth sur GitHub et pour empêcher son utilisation ailleurs, procédez comme suit.
- Accédez à Paramètres > Applications > Applications OAuth autorisées.
- Accédez à la page de vos paramètres :
- Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
- Cliquez sur Paramètres.
- Dans la barre latérale gauche, cliquez sur Applications.
- Sous ** Applications OAuth autorisées**, cliquez sur en regard de GitHub CLI pour développer le menu et sélectionnez Revoke.