Skip to main content

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

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.

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
Si indicas github_token, use_logged_in_user pasa automáticamente a false. Si quieres alternar explícitamente:
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
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_TOKEN → GH_TOKEN → GITHUB_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.
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.

Seleccionar una cuenta para el inicio de sesión interactivo

Enumera loginAccounts mediante la RPC de sesión para obtener las identidades guardadas que puedes reutilizar con un proveedor determinado. El label de cada elemento sirve para mostrarlo, y active indica si la identidad coincide con la cuenta activa de la sesión actual. accountId es un ID opaco que pertenece al proveedor. Pásalo tal cual a la solicitud de inicio de sesión, sin analizarlo ni modificarlo.
Usa mode: 'default' para reutilizar una identidad guardada con el comportamiento normal del proveedor. Usa mode: 'selectAccount' para mostrar explícitamente el selector de cuentas del proveedor. En ese caso, no pases accountId. Las llamadas existentes como begin(LoginProviderKind::ENTRA) siguen funcionando.
Consulta la información más reciente en el repositorio de GitHub.
Última modificación el 19 de octubre de 2026