Vai al contenuto principale

Autenticazione

Copilot SDK supporta più metodi di autenticazione. Scegli quello adatto al tuo caso d’uso.

Metodi di autenticazione

MetodoUso principaleAbbonamento CopilotNote
Login GitHub (CLI)Sviluppo · esecuzione manualeRichiestoUsa le credenziali di login del CLI copilot
OAuth GitHub App / PATToken per singolo utenteRichiestoSpecificato tramite github_token
Variabili d’ambienteCI/CD · uso lato serverRichiestoCOPILOT_GITHUB_TOKEN ecc.
BYOK (Bring Your Own Key)Provider di modelli proprioNon richiestoConfigurazione di un provider personalizzato
Per BYOK consulta Custom providers.

Login GitHub (CLI)

Se sei già loggato con il CLI copilot o gh e non specifichi nulla, vengono usate le credenziali salvate.
use Revolution\Copilot\Facades\Copilot;

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

OAuth GitHub App / PAT

Passa a github_token il token di accesso utente ottenuto tramite flusso OAuth oppure un PAT fine-grained.
  • Sono attesi gho_ / ghu_ / github_pat_
  • ghp_ (Classic PAT) è deprecato
use Revolution\Copilot\Facades\Copilot;

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

$response = Copilot::useStdio($config)->run(prompt: '...');
Copilot::stop();
Specificando github_token, use_logged_in_user viene impostato automaticamente a false. Se vuoi cambiarlo esplicitamente, procedi così.
$config = [
    'github_token' => $user->github_token,
    'use_logged_in_user' => true,
];
Per i dettagli consulta GitHub token. github_token e use_logged_in_user sono disponibili solo in modalità stdio. In modalità TCP la Copilot CLI deve essere già autenticata.

Variabili d’ambiente

Se passi il token tramite variabili d’ambiente, la CLI lo rileva automaticamente. L’ordine di priorità è dal primo all’ultimo.
  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');
In modalità TCP imposta le variabili d’ambiente sul server CLI.

Priorità dell’autenticazione

L’SDK risolve le credenziali nel seguente ordine.
  1. github_token (specificato esplicitamente)
  2. Token da variabile d’ambiente (COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN)
  3. Credenziali OAuth salvate dalla CLI
  4. Credenziali del CLI gh

Disabilitare il login automatico

Se non vuoi usare le credenziali salvate, imposta use_logged_in_user a false.
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::useStdio([
    'use_logged_in_user' => false,
])->run(prompt: 'Hello');
Come github_token, è supportato solo in modalità stdio. In modalità TCP la Copilot CLI deve essere già autenticata.

Verifica dello stato di autenticazione

Puoi verificarlo ottenendo il risultato di auth.getStatus.
use Revolution\Copilot\Facades\Copilot;

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

if (! $status->isAuthenticated) {
    // Non autenticato
}
Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 13 luglio 2026