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**:
-
Der Benutzer führt die
copilotCLI aus und meldet sich über GitHub OAuth an. -
Anmeldeinformationen werden sicher im Systemschlüsselbund gespeichert.
-
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**:
-
Der Benutzer autorisiert Ihre OAuth-App GitHub .
-
Ihre App empfängt ein Benutzerzugriffstoken (
gho_oderghu_Präfix). -
Übergeben Sie das Token über die
githubTokenOption 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:
-
**Explizit `githubToken`** — Token, das direkt an den SDK-Konstruktor übergeben wird -
**HMAC-Schlüssel** – `CAPI_HMAC_KEY` oder `COPILOT_HMAC_KEY` Umgebungsvariablen -
**Direktes API-Token** – `GITHUB_COPILOT_API_TOKEN` mit `COPILOT_API_URL` -
**Tokens von Umgebungsvariablen** – `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN` -
**Gespeicherte OAuth-Anmeldeinformationen** – Aus vorheriger `copilot` CLI-Anmeldung -
** 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