Skip to main content

Authentification avec le Kit de développement logiciel (SDK) Copilot

Choisissez dans Kit de développement logiciel (SDK) GitHub Copilot la méthode d’authentification qui convient le mieux à votre scénario de déploiement.

Qui peut utiliser cette fonctionnalité ?

Kit de développement logiciel (SDK) GitHub Copilot est disponible dans tous les forfaits Copilot.

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 :**
  1. L’utilisateur exécute l’interface copilot CLI et se connecte via GitHub OAuth.

  2. Les informations d’identification sont stockées en toute sécurité dans le trousseau système.

  3. 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 :**
  1. L’utilisateur autorise votre application OAuth GitHub .

  2. Votre application reçoit un jeton d’accès utilisateur (gho_ ou ghu_ préfixe).

  3. 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 OAuth

  • ghu_ — Jetons d’accès utilisateur d’application GitHub

  • github_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é) :**

1. COPILOT_GITHUB_TOKEN— Recommandé pour une utilisation explicite Copilot

  1.           `GH_TOKEN` Compatible avec GitHub CLI
    
  2.           `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é :

  1.        **Explicite `githubToken`** — Jeton transmis directement au constructeur du Kit de développement logiciel (SDK)
    
  2.        **Jeton d’API directe** avec `GITHUB_COPILOT_API_TOKEN``COPILOT_API_URL`
    
  3.        **Jetons de variable d’environnement**`COPILOT_GITHUB_TOKEN` : `GH_TOKEN` → →`GITHUB_TOKEN`
    
  4.        **Informations d’identification OAuth stockées** : à partir de la connexion CLI précédente `copilot`
    
  5.        **
           GitHub CLI
           ** — `gh auth` informations 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