À 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 GitHub Copilot CLI utilisation.
Lorsque l’authentification est requise, Copilot CLI prend en charge plusieurs méthodes. La méthode que vous utilisez varie selon que vous travaillez de manière interactive ou dans un environnement automatisé.
- OAuth : méthode par défaut et recommandée pour une utilisation interactive. Il existe deux flux OAuth. Le flux de navigateur (web) ouvre votre navigateur pour autoriser la connexion et le termine sur un rappel de bouclage local. Le flux de code de l’appareil affiche un code à usage unique que vous entrez dans votre navigateur. Le flux via le navigateur est utilisé par défaut sur un poste de travail local, tandis que les environnements distants connus ou sans interface graphique (y compris SSH, GitHub Codespaces, les conteneurs de développement et CI) utilisent par défaut le flux de code d’appareil. Consultez l’authentification avec OAuth.
- 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. Consultez l’authentification avec les variables d’environnement. - GitHub CLI fallback : Si vous avez GitHub CLI (
gh) (remarque : l'ghCLI, pascopilot) installé et authentifié, Copilot CLI 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. Voir Authentification avec GitHub CLI.
Une fois authentifié, Copilot CLI 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 Copilot CLI pour utiliser vos propres clés API de fournisseur LLM (BYOK), GitHub l’authentification n’est pas nécessaire. Copilot CLI Peut se connecter directement à votre fournisseur configuré sans GitHub compte ni jeton.
Toutefois, sans GitHub authentification, les fonctionnalités suivantes ne sont pas disponibles :
/delegate: Nécessite Copilot cloud agent, qui s'exécute sur GitHubles serveurs de- 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, Copilot CLI 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 (navigateur ou flux d’authentification d’appareil) | gho_ | Oui | Méthode par défaut via copilot login |
| PAT à granularité fine | github_pat_ | Oui | Doit être détenu par votre compte personnel (et non par une organisation) avec l’autorisation Copilot Requêtes du compte |
| Application GitHub utilisateur à serveur | ghu_ | Oui | Via une variable d’environnement |
| PAT classique | ghp_ | Non | Non pris en charge par Copilot CLI |
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, Copilot CLI recherche les informations d’identification dans l’ordre suivant :
COPILOT_GITHUB_TOKENvariable d’environnementGH_TOKENvariable d’environnementGITHUB_TOKENvariable d’environnement- Jeton OAuth provenant du trousseau système
- Solution de secours via GitHub CLI (
gh auth token)
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. Il existe une exception : dans GitHub Codespaces, l’élémentGITHUB_TOKENinjecté automatiquement ne prévaut pas sur un compte auquel vous vous êtes connecté à l’aide de/login. UnGITHUB_TOKEN,COPILOT_GITHUB_TOKENouGH_TOKENque vous exportez explicitement l’est toujours. - Lorsque vous configurez des variables d’environnement de fournisseur BYOK (par exemple,
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEY), Copilot CLI 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
OAuth est la méthode d’authentification par défaut pour une utilisation interactive. Vous pouvez vous authentifier en exécutant /login depuis Copilot CLI ou copilot login depuis votre terminal. Les deux offrent un flux de navigateur (web) et un flux de code d’appareil.
S’authentifier avec /login
-
À partir de Copilot CLI, exécutez
/login.Bash /login
/login -
Sélectionnez le compte avec lequel vous souhaitez vous authentifier. Pour GitHub Enterprise Cloud la résidence de données, saisissez 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) -
Choisissez la façon dont vous souhaitez vous connecter. L’option recommandée est répertoriée en premier et dépend de votre environnement : le flux de navigateur sur un terminal local ou le flux de code de l’appareil dans un environnement distant ou sans tête. L’exemple suivant montre l’invite de commande dans un terminal local :
How do you want to sign in? 1. Sign in with your browser (recommended) 2. Sign in with a device code -
Terminez le flux que vous avez sélectionné.
-
Navigateur : Copilot CLI ouvre votre navigateur afin que vous puissiez autoriser la connexion. Si votre navigateur ne s’ouvre pas automatiquement, le terminal affiche une URL que vous pouvez visiter à la place.
-
Code de l’appareil : l’interface CLI affiche un code utilisateur unique et peut le copier dans votre Presse-papiers et ouvrir votre navigateur pour vous.
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 à l’adresse
https://github.com/login/devicesi votre navigateur ne s’est pas ouvert automatiquement, puis collez le code à usage unique dans le champ prévu à cet effet sur 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 HOSTNAME -
Autorisez la connexion.
Sur un bureau local,
copilot loginutilise le flux de navigateur par défaut. Il ouvre votre navigateur pour autoriser la connexion et capture le résultat sur un rappel de bouclage local.Opening your browser to authenticate... If it doesn't open automatically, visit: URL Waiting for authorization...Les environnements distants ou sans tête connus (y compris SSH, , GitHub Codespacesconteneurs de développement et CI) utilisent plutôt le flux de code de l’appareil. L’interface en ligne de commande affiche un code à usage unique et, lorsque l’environnement le permet, peut le copier dans le presse-papiers et ouvrir un navigateur.
To authenticate, visit https://github.com/login/device and enter code 1234-5678 Waiting for authorization...Pour forcer un flux particulier, ajoutez l’option
--device-codeou--web-flow. -
Accédez à l’URL affichée dans votre terminal si votre navigateur n’a pas ouvert automatiquement. Pour le flux de code de l’appareil, 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 Propriétaire de la ressource, sélectionnez votre compte personnel. Ne sélectionnez pas d’organisation. L’autorisation Copilot Requêtes est disponible uniquement pour les éléments appartenant à l'utilisateur.fine-grained personal access tokens
- Sous Accès au référentiel, sélectionnez le niveau d’accès approprié pour votre cas d’usage :
- Référentiels publics si vous n’avez besoin d’utiliser que les dépôts publics.
- Tous les référentiels si vous avez besoin d’accéder à tous vos dépôts actuels et futurs.
- Sélectionnez uniquement certains dépôts si vous souhaitez restreindre l’accès à des dépôts spécifiques.
- Sous Autorisations, sélectionnez l’onglet Compte .
- Cliquez sur Ajouter des autorisations et 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é, Copilot CLI 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
Copilot CLI prend en charge plusieurs comptes. Vous pouvez répertorier les comptes disponibles et basculer entre eux à partir de l’interface CLI.
Pour lister les comptes disponibles, lancez /user list depuis l’invite Copilot CLI .
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 Copilot CLI . 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.
Étapes suivantes
Si vous rencontrez des problèmes d’authentification, consultez Résolution des problèmes liés à l’authentification CLI GitHub Copilot.