Authentification
Copilot SDK prend en charge plusieurs méthodes d’authentification. Choisissez celle adaptée à votre cas d’usage.Méthodes d’authentification
Pour BYOK, voir Custom providers.
Connexion GitHub (CLI)
Si vous êtes déjà connecté au CLIcopilot ou gh, les identifiants enregistrés sont utilisés lorsque rien n’est spécifié.
GitHub App OAuth / PAT
Passez àgithub_token un token d’accès utilisateur obtenu via le flux OAuth ou un PAT à granularité fine.
- Formats attendus :
gho_/ghu_/github_pat_ ghp_(PAT classique) est déconseillé
github_token, use_logged_in_user bascule automatiquement à false. Pour l’activer explicitement :
github_token et use_logged_in_user ne sont utilisables qu’en mode stdio. En mode TCP, l’authentification doit être effectuée côté Copilot CLI.
Variables d’environnement
Si vous transmettez le token via une variable d’environnement, le CLI le détecte automatiquement. L’ordre de priorité est le suivant, du plus prioritaire au moins prioritaire :COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
Priorité de l’authentification
Le SDK résout les identifiants dans l’ordre suivant :github_token(spécifié explicitement)- Tokens de variables d’environnement (
COPILOT_GITHUB_TOKEN→GH_TOKEN→GITHUB_TOKEN) - Identifiants OAuth enregistrés dans le CLI
- Identifiants du CLI
gh
Désactiver l’auto-connexion
Pour ne pas utiliser les identifiants enregistrés, mettezuse_logged_in_user à false.
github_token, cela ne fonctionne qu’en mode stdio. En mode TCP, l’authentification doit être faite côté Copilot CLI.
Vérifier l’état d’authentification
Vous pouvez récupérer et inspecter le résultat deauth.getStatus.
Sélectionner un compte pour la connexion interactive
ÉnumérezloginAccounts via le RPC de session pour obtenir les identités enregistrées que vous pouvez réutiliser avec un fournisseur donné. Le label de chaque élément sert à l’affichage, et active indique si l’identité correspond au compte actif de la session courante. accountId est un identifiant opaque appartenant au fournisseur. Transmettez-le tel quel à la requête de connexion, sans l’analyser ni le modifier.
mode: 'default' pour réutiliser une identité enregistrée avec le comportement normal du fournisseur. Utilisez mode: 'selectAccount' pour afficher explicitement le sélecteur de compte du fournisseur. Dans ce cas, ne passez pas accountId. Les appels existants comme begin(LoginProviderKind::ENTRA) continuent de fonctionner.
Pour les dernières informations, consultez le dépôt GitHub.