Skip to main content

Authentifizieren mit Copilot SDK

Wählen Sie die Authentifizierungsmethode aus GitHub Copilot SDK, die Ihrem Bereitstellungsszenario am besten entspricht.

Wer kann dieses Feature verwenden?

GitHub Copilot SDK ist mit allen Copilot Tarifen verfügbar.

Hinweis

          Copilot SDK ist zurzeit in öffentliche Vorschau. Funktionalität und Verfügbarkeit können geändert werden.

Übersicht über die Authentifizierungsmethoden

          GitHub Copilot SDK unterstützt mehrere Authentifizierungsmethoden für unterschiedliche Anwendungsfälle.

| Methode | Anwendungsfall | Copilot Abonnement erforderlich | |--------|----------|-------------------------------| | Angemeldeter GitHub-Benutzer | Interaktive Apps, bei denen sich Benutzer mit GitHub anmelden | Ja | | OAuth-App GitHub | Apps, die im Namen von Benutzern über OAuth handeln | Ja | | Umgebungsvariablen | CI/CD, Automatisierung, Server-zu-Server | Ja | | BYOK (Bring deinen eigenen Schlüssel mit) | Verwenden Eigener API-Schlüssel (Azure AI Foundry, OpenAI usw.) | No |

Angemeldeter GitHub-Benutzer

Dies ist die Standardauthentifizierungsmethode, wenn das GitHub Copilot CLI interaktiv ausgeführt wird. Siehe GitHub Copilot CLI authentifizieren. Benutzer authentifizieren sich über den GitHub OAuth-Gerätefluss, und das SDK verwendet ihre gespeicherten Anmeldeinformationen.

          **Funktionsweise**:
  1. Der Benutzer führt die copilot CLI aus und meldet sich über GitHub OAuth an.

  2. Anmeldeinformationen werden sicher im Systemschlüsselbund gespeichert.

  3. Das SDK verwendet automatisch gespeicherte Anmeldeinformationen.

           **SDK-Konfiguration:**
    
import { CopilotClient } from "@github/copilot-sdk";

// Default: uses signed-in user credentials
const client = new CopilotClient();

Beispiele in anderen Sprachen finden Sie unter Authentifizierung im github/copilot-sdk Repository.

          **Wann diese Methode verwendet werden soll:**
  • Desktopanwendungen, in denen Benutzer direkt interagieren
  • Entwicklungs- und Testumgebungen
  • Jedes Szenario, in dem sich ein Benutzer interaktiv anmelden kann

OAuth GitHub-App

Verwenden Sie eine OAuth-App GitHub , um Benutzer über Ihre Anwendung zu authentifizieren und ihre Anmeldeinformationen an das SDK zu übergeben. Auf diese Weise kann Ihre Anwendung API-Anforderungen im Auftrag von Benutzern durchführen GitHub Copilot , die Ihre App autorisieren.

          **Funktionsweise**:
  1. Der Benutzer autorisiert Ihre OAuth-App GitHub .

  2. Ihre App empfängt ein Benutzerzugriffstoken (gho_ oder ghu_ Präfix).

  3. Übergeben Sie das Token über die githubToken Option an das SDK.

           **SDK-Konfiguration:**
    
import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient({
    githubToken: userAccessToken,  // Token from OAuth flow
    useLoggedInUser: false,        // Don't use stored CLI credentials
});

Beispiele in anderen Sprachen finden Sie unter Authentifizierung im github/copilot-sdk Repository.

          **Unterstützte Tokentypen:**

* gho_ — OAuth-Benutzerzugriffstoken * ghu_ — GitHub App-Benutzerzugriffstoken * github_pat_ — Fine-grained personal access tokens

          **Nicht unterstützt:**

* ghp_ — Personal access tokens (classic) (abschließend)

          **Wann diese Methode verwendet werden soll:**
  • Webanwendungen, in denen sich Benutzer über GitHub
  • Auf SaaS-Anwendungen (Software-as-a-Service) aufbauend GitHub Copilot
  • Jede Mehrbenutzeranwendung, in der Sie Anforderungen im Namen verschiedener Benutzer stellen müssen

Umgebungsvariablen

Für Automatisierungs-, CI/CD-Pipelines und Server-zu-Server-Szenarien können Sie sich mithilfe von Umgebungsvariablen authentifizieren.

          **Unterstützte Umgebungsvariablen (in Prioritätsreihenfolge):**

1. COPILOT_GITHUB_TOKEN — Empfohlen für die explizite Copilot Verwendung 1. GH_TOKEN — GitHub CLI kompatibel 1. GITHUB_TOKEN — GitHub Actions kompatibel

Das SDK erkennt und verwendet diese Umgebungsvariablen automatisch, ohne dass Codeänderungen erforderlich sind:

import { CopilotClient } from "@github/copilot-sdk";

// Token is read from environment variable automatically
const client = new CopilotClient();
          **Wann diese Methode verwendet werden soll:**
  • CI/CD-Pipelines (GitHub Actions, Jenkins, etc.)
  • Automatisiertes Testen
  • Serverseitige Anwendungen mit Dienstkonten
  • Entwicklung, wenn Sie keine interaktive Anmeldung verwenden möchten

BYOK (bring your own key)

MIT BYOK können Sie Ihre eigenen API-Schlüssel von Modellanbietern wie Azure AI Foundry, OpenAI oder Anthropic verwenden. GitHub Copilot Dadurch wird die Authentifizierung vollständig umgangen.

          **Wichtige Vorteile:**
  • Kein GitHub Copilot Abonnement erforderlich
  • Verwenden von Enterprise-Modellbereitstellungen
  • Direkte Abrechnung mit Ihrem Modellanbieter
  • Unterstützung für Azure AI Foundry, OpenAI, Anthropic und OpenAI-kompatible Endpunkte

Vollständige Einrichtungsanweisungen, einschließlich Anbieterkonfigurationsoptionen, Einschränkungen und Codebeispiele, finden Sie unter Bring Your Own Key (BYOK).

Authentifizierungspriorität

Wenn mehrere Authentifizierungsmethoden verfügbar sind, verwendet das SDK sie in dieser Prioritätsreihenfolge:

  1.        **Explizit `githubToken`** — Token, das direkt an den SDK-Konstruktor übergeben wird
    
  2.        **HMAC-Schlüssel** – `CAPI_HMAC_KEY` oder `COPILOT_HMAC_KEY` Umgebungsvariablen
    
  3.        **Direktes API-Token** – `GITHUB_COPILOT_API_TOKEN` mit `COPILOT_API_URL`
    
  4.        **Tokens von Umgebungsvariablen** – `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN`
    
  5.        **Gespeicherte OAuth-Anmeldeinformationen** – Aus vorheriger `copilot` CLI-Anmeldung
    
  6.        **
           GitHub CLI
           ** — `gh auth` Anmeldeinformationen
    

Deaktivieren der automatischen Anmeldung

Um zu verhindern, dass das SDK automatisch gespeicherte Anmeldeinformationen oder GitHub CLI Authentifizierung verwendet, legen Sie die useLoggedInUser Option auf false:

const client = new CopilotClient({
    useLoggedInUser: false,  // Only use explicit tokens
});

Beispiele in anderen Sprachen finden Sie unter Authentifizierung im github/copilot-sdk Repository.

Nächste Schritte

  •         [AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) 
    
  •         [MCP-Serverdokumentation](https://github.com/github/copilot-sdk/blob/main/docs/features/mcp.md) – Herstellen einer Verbindung mit externen Tools mithilfe des SDK