Remarque
SDK Copilot est actuellement en préversion publique. Les fonctionnalités et la disponibilité sont susceptibles de changer.
Présentation des méthodes d’authentification
Kit de développement logiciel (SDK) GitHub Copilot prend en charge plusieurs méthodes d’authentification pour répondre à différents cas d’usage.
| Méthode | Cas d’utilisation | Copilot abonnement requis | |--------|----------|-------------------------------| | Utilisateur connecté à GitHub | Applications interactives dans lesquelles les utilisateurs se connectent avec GitHub | Oui | | Application OAuth GitHub | Applications agissant pour le compte des utilisateurs via OAuth | Oui | | variables d’environnement | CI/CD, automatisation, serveur à serveur | Oui | | BYOK (apportez votre propre clé) | Utilisation de vos propres clés API (Azure AI Foundry, OpenAI, etc.) | Non |
Utilisateur connecté à GitHub
Il s’agit de la méthode d’authentification par défaut lors de l’exécution CLI GitHub Copilot interactive, consultez Authentification de GitHub Copilot CLI. Les utilisateurs s’authentifient via le flux d’appareil GitHub OAuth et le SDK utilise leurs informations d’identification stockées.
Fonctionnement :
- L’utilisateur exécute l’interface
copilotCLI et se connecte via GitHub OAuth. - Les informations d’identification sont stockées en toute sécurité dans le trousseau système.
- Le Kit de développement logiciel (SDK) utilise automatiquement les informations d’identification stockées.
Configuration du Kit de développement logiciel (SDK) :
import { CopilotClient } from "@github/copilot-sdk";
// Default: uses signed-in user credentials
const client = new CopilotClient();
Pour obtenir des exemples dans d’autres langues, consultez Authentification dans le github/copilot-sdk référentiel.
Quand utiliser cette méthode :
- Applications de bureau où les utilisateurs interagissent directement
- les environnements de développement et de test ;
- Tout scénario dans lequel un utilisateur peut se connecter de manière interactive
Application OAuth de GitHub
Utilisez une application OAuth GitHub pour authentifier les utilisateurs via votre application et transmettre leurs informations d’identification au Kit de développement logiciel (SDK). Cela permet à votre application d’effectuer GitHub Copilot des demandes d’API pour le compte des utilisateurs qui autorisent votre application.
Fonctionnement :
- L’utilisateur autorise votre application OAuth GitHub .
- Votre application reçoit un jeton d’accès utilisateur (
gho_oughu_préfixe). - Transmettez le jeton au Kit de développement logiciel (SDK) via l’option
githubToken.
Configuration du Kit de développement logiciel (SDK) :
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient({
githubToken: userAccessToken, // Token from OAuth flow
useLoggedInUser: false, // Don't use stored CLI credentials
});
Pour obtenir des exemples dans d’autres langues, consultez Authentification dans le github/copilot-sdk référentiel.
Types de jetons pris en charge :
gho_— Jetons d’accès utilisateur OAuthghu_— Jetons d’accès utilisateur d’application GitHubgithub_pat_— Fine-grained personal access tokens
Non pris en charge :
ghp_— Personal access tokens (classic) (fermeture)
Quand utiliser cette méthode :
- Applications web où les utilisateurs se connectent via GitHub
- Applications SaaS (Software-as-a-Service) qui s’appuient sur GitHub Copilot
- Toute application multi-utilisateur dans laquelle vous devez effectuer des demandes pour le compte de différents utilisateurs
Variables d'environnement
Pour les scénarios d’automatisation, ci/CD et serveur à serveur, vous pouvez vous authentifier à l’aide de variables d’environnement.
Variables d’environnement prises en charge (par ordre de priorité) :
COPILOT_GITHUB_TOKEN— Recommandé pour une utilisation explicite Copilot-
`GH_TOKEN` Compatible avec GitHub CLI -
`GITHUB_TOKEN` Compatible avec GitHub Actions
Le Kit de développement logiciel (SDK) détecte et utilise automatiquement ces variables d’environnement sans aucune modification du code requise :
import { CopilotClient } from "@github/copilot-sdk";
// Token is read from environment variable automatically
const client = new CopilotClient();
Quand utiliser cette méthode :
- Pipelines CI/CD (GitHub Actions, Jenkins, etc.)
- Tests automatisés
- Applications côté serveur avec des comptes de service
- Développement lorsque vous ne souhaitez pas utiliser la connexion interactive
BYOK (apportez votre propre clé)
BYOK vous permet d’utiliser vos propres clés API à partir de fournisseurs de modèles tels qu’Azure AI Foundry, OpenAI ou Anthropic. Cela contourne entièrement l’authentification GitHub Copilot .
Principaux avantages :
- Aucun GitHub Copilot abonnement requis
- Utiliser des déploiements de modèles d’entreprise
- Facturation directe avec votre fournisseur de modèles
- Prise en charge pour Azure AI Foundry, OpenAI, Anthropic et les points de terminaison compatibles OpenAI
Pour obtenir des instructions d’installation complètes, notamment des options de configuration de fournisseur, des limitations et des exemples de code, consultez Apportez votre propre clé (BYOK).
Priorité d’authentification
Lorsque plusieurs méthodes d’authentification sont disponibles, le SDK les utilise dans cet ordre de priorité :
- Explicite
githubToken— Jeton transmis directement au constructeur du Kit de développement logiciel (SDK) - Jeton d’API directe avec
GITHUB_COPILOT_API_TOKEN``COPILOT_API_URL - Jetons de variable d’environnement
COPILOT_GITHUB_TOKEN:GH_TOKEN→ →GITHUB_TOKEN - Informations d’identification OAuth stockées : à partir de la connexion CLI précédente
copilot - **
GitHub CLI
** —
gh authinformations d’identification
Désactivation de la connexion automatique
Pour empêcher le SDK d’utiliser automatiquement les informations d’identification stockées ou GitHub CLI l’authentification, définissez l’option useLoggedInUser sur false:
const client = new CopilotClient({
useLoggedInUser: false, // Only use explicit tokens
});
Pour obtenir des exemples dans d’autres langues, consultez Authentification dans le github/copilot-sdk référentiel.
Étapes suivantes
- Apportez votre propre clé (BYOK)
- Documentation sur les serveurs MCP : se connecter à des outils externes à l’aide du Kit de développement logiciel (SDK)