Saltar al contenido principal

Autenticación

Copilot SDK admite varios métodos de autenticación. Elige el que mejor se adapte a tu caso de uso.

Métodos de autenticación

MétodoUso principal¿Requiere suscripción a Copilot?Notas
Login con GitHub (CLI)Desarrollo y ejecución manualUsa las credenciales de login del CLI copilot
OAuth GitHub App / PATToken por usuarioSe indica con github_token
Variables de entornoCI/CD y operación en servidorCOPILOT_GITHUB_TOKEN, etc.
BYOK (Bring Your Own Key)Proveedor de modelo propioNoConfiguración de custom provider
Para BYOK consulta Custom providers.

Login con GitHub (CLI)

Si has hecho login con el CLI copilot o con gh, cuando no especificas nada se usan las credenciales guardadas.
use Revolution\Copilot\Facades\Copilot;

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

OAuth GitHub App / PAT

Pasa a github_token un user access token obtenido con OAuth o un fine-grained PAT.
  • Se esperan tokens gho_ / ghu_ / github_pat_
  • ghp_ (Classic PAT) está desaconsejado
use Revolution\Copilot\Facades\Copilot;

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

$response = Copilot::useStdio($config)->run(prompt: '...');
Copilot::stop();
Si indicas github_token, use_logged_in_user pasa automáticamente a false. Si quieres alternar explícitamente:
$config = [
    'github_token' => $user->github_token,
    'use_logged_in_user' => true,
];
Consulta GitHub token para más detalle. github_token y use_logged_in_user solo funcionan en modo stdio. En modo TCP, el CLI de Copilot debe estar ya autenticado por su cuenta.

Variables de entorno

Si pasas el token por variables de entorno, el CLI las detecta automáticamente. El orden de prioridad es de arriba a abajo:
  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');
En modo TCP configura las variables de entorno en el lado del servidor CLI.

Orden de prioridad de la autenticación

El SDK resuelve las credenciales en este orden:
  1. github_token (indicado explícitamente)
  2. Token por variable de entorno (COPILOT_GITHUB_TOKENGH_TOKENGITHUB_TOKEN)
  3. Credenciales OAuth guardadas por el CLI
  4. Credenciales del CLI gh

Desactivar el login automático

Si no quieres usar las credenciales guardadas, pon use_logged_in_user a false.
use Revolution\Copilot\Facades\Copilot;

$response = Copilot::useStdio([
    'use_logged_in_user' => false,
])->run(prompt: 'Hello');
Igual que con github_token, solo se admite en modo stdio. En TCP el CLI de Copilot debe estar ya autenticado.

Comprobar el estado de autenticación

Puedes consultar el resultado de auth.getStatus.
use Revolution\Copilot\Facades\Copilot;

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

if (! $status->isAuthenticated) {
    // No autenticado
}
Consulta la información más reciente en el repositorio de GitHub.
Última modificación el 13 de julio de 2026