Zum Hauptinhalt springen

Authentifizierung

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

Authentifizierungsmethoden

MethodeHauptanwendungCopilot-AbonnementAnmerkungen
GitHub-Login (CLI)Entwicklung / manuelle AusführungErforderlichNutzt die Anmeldedaten der copilot-CLI
OAuth GitHub App / PATNutzerspezifische TokensErforderlichWird über github_token angegeben
UmgebungsvariablenCI/CD, Server-BetriebErforderlichCOPILOT_GITHUB_TOKEN u. a.
BYOK (Bring Your Own Key)Eigener Model-ProviderNicht erforderlichCustom-Provider-Konfiguration
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.
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::run(prompt: 'Hello');

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
use Revolution\Copilot\Facades\Copilot;

$config = array_merge(config('copilot'), [
    'github_token' => $user->github_token,
]);

$response = Copilot::useStdio($config)->run(prompt: '...');
Copilot::stop();
Wenn Sie github_token angeben, wird use_logged_in_user automatisch auf false gesetzt. Um dies explizit umzuschalten, gehen Sie wie folgt vor.
$config = [
    'github_token' => $user->github_token,
    'use_logged_in_user' => true,
];
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
COPILOT_GITHUB_TOKEN=github_pat_xxx
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::run(prompt: 'Hello');
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_TOKENGH_TOKENGITHUB_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.
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::useStdio([
    'use_logged_in_user' => false,
])->run(prompt: 'Hello');
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.
use Revolution\Copilot\Facades\Copilot;

$status = Copilot::client()->getAuthStatus();

if (! $status->isAuthenticated) {
    // Nicht authentifiziert
}
Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 13. Juli 2026