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 dercopilot- 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 angithub_token.
- Erwartet werden
gho_/ghu_/github_pat_ ghp_(Classic PAT) wird nicht empfohlen
github_token angeben, wird use_logged_in_user automatisch auf false gesetzt. Um dies explizit umzuschalten, gehen Sie wie folgt vor.
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.COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN
Priorität der Authentifizierung
Das SDK löst Anmeldedaten in folgender Reihenfolge auf.github_token(explizit angegeben)- Umgebungsvariablen-Token (
COPILOT_GITHUB_TOKEN→GH_TOKEN→GITHUB_TOKEN) - In der CLI gespeicherte OAuth-Anmeldedaten
- Anmeldedaten der
gh-CLI
Automatisches Login deaktivieren
Um gespeicherte Anmeldedaten nicht zu verwenden, setzen Sieuse_logged_in_user auf false.
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 vonauth.getStatus abrufen.
Konto für die interaktive Anmeldung auswählen
Listen SieloginAccounts ü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.
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.