Skip to main content

Authentifizierung

Das Copilot SDK unterstützt mehrere Authentifizierungsmethoden. Wählen Sie die für Ihren Anwendungsfall passende aus.

Authentifizierungsmethoden

Zu BYOK siehe Custom providers.

GitHub-Login (CLI)

Wenn Sie mit der copilot- oder gh-CLI angemeldet sind und nichts angeben, werden die gespeicherten Anmeldedaten verwendet.

OAuth GitHub App / PAT

Übergeben Sie ein über den OAuth-Flow erhaltenes User-Access-Token oder ein Fine-grained PAT an github_token.
  • Erwartet werden gho_ / ghu_ / github_pat_
  • ghp_ (Classic PAT) wird nicht empfohlen
Wenn Sie github_token angeben, wird use_logged_in_user automatisch auf false gesetzt. Um dies explizit umzuschalten, gehen Sie wie folgt vor.
Details siehe GitHub token. github_token und use_logged_in_user sind nur im stdio-Modus verfügbar. Im TCP-Modus muss die Copilot-CLI bereits authentifiziert sein.

Umgebungsvariablen

Wenn Sie das Token über Umgebungsvariablen übergeben, erkennt die CLI dies automatisch. Die Priorität ist von oben nach unten wie folgt.
  1. COPILOT_GITHUB_TOKEN
  2. GH_TOKEN
  3. GITHUB_TOKEN
Konfigurieren Sie im TCP-Modus die Umgebungsvariablen auf der CLI-Serverseite.

Priorität der Authentifizierung

Das SDK löst Anmeldedaten in folgender Reihenfolge auf.
  1. github_token (explizit angegeben)
  2. Umgebungsvariablen-Token (COPILOT_GITHUB_TOKEN → GH_TOKEN → GITHUB_TOKEN)
  3. In der CLI gespeicherte OAuth-Anmeldedaten
  4. Anmeldedaten der gh-CLI

Automatisches Login deaktivieren

Um gespeicherte Anmeldedaten nicht zu verwenden, setzen Sie use_logged_in_user auf false.
Wie github_token wird auch dies nur im stdio-Modus unterstützt. Im TCP-Modus muss die Copilot-CLI bereits authentifiziert sein.

Authentifizierungsstatus prüfen

Sie können den Status über das Ergebnis von auth.getStatus abrufen.

Konto für die interaktive Anmeldung auswählen

Listen Sie loginAccounts über das Session-RPC auf, um die gespeicherten Identitäten zu erhalten, die Sie bei einem bestimmten Anbieter wiederverwenden können. Das label jedes Eintrags dient der Anzeige, und active gibt an, ob die Identität dem aktiven Konto der aktuellen Session entspricht. accountId ist eine opake ID, die dem Anbieter gehört. Übergeben Sie sie unverändert an die Login-Anfrage, ohne sie zu parsen oder zu verändern.
Verwenden Sie mode: 'default', um eine gespeicherte Identität mit dem normalen Verhalten des Anbieters wiederzuverwenden. Verwenden Sie mode: 'selectAccount', um explizit die Kontoauswahl des Anbieters anzuzeigen. Übergeben Sie in diesem Fall kein accountId. Bestehende Aufrufe wie begin(LoginProviderKind::ENTRA) funktionieren weiterhin.
Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 19. Oktober 2026