Nota:
SDK de Copilot actualmente está en versión preliminar pública. La funcionalidad y la disponibilidad están sujetas a cambios.
Descripción general de los métodos de autenticación
SDK de GitHub Copilot admite varios métodos de autenticación para ajustarse a diferentes casos de uso.
| Método | Caso de uso | Copilot suscripción necesaria | |--------|----------|-------------------------------| | Usuario que ha iniciado sesión en GitHub | Aplicaciones interactivas en las que los usuarios inician sesión con GitHub | Sí | | Aplicación OAuth GitHub | Aplicaciones que actúan en nombre de los usuarios a través de OAuth | Sí | | Variables de entorno | CI/CD, automatización, servidor a servidor | Sí | | BYOK (traiga su propia clave) | Uso de sus propias claves de API (Fundición de IA de Azure, OpenAI, etc.) | No |
Usuario que ha iniciado sesión en GitHub
Este es el método de autenticación predeterminado al ejecutar CLI de GitHub Copilot de forma interactiva, consulte Autenticación de la CLI de GitHub Copilot. Los usuarios se autentican a través del GitHub flujo de dispositivos OAuth y el SDK usa sus credenciales almacenadas.
**Cómo funciona:**
-
El usuario ejecuta la
copilotCLI e inicia sesión a través de GitHub OAuth. -
Las credenciales se almacenan de forma segura en la cadena de claves del sistema.
-
El SDK usa automáticamente las credenciales almacenadas.
**Configuración del SDK:**
import { CopilotClient } from "@github/copilot-sdk";
// Default: uses signed-in user credentials
const client = new CopilotClient();
Para obtener ejemplos en otros idiomas, consulte Autenticación en el github/copilot-sdk repositorio.
**Cuándo usar este método:**
- Aplicaciones de escritorio en las que los usuarios interactúan directamente
- Entornos de desarrollo y pruebas
- Cualquier escenario en el que un usuario pueda iniciar sesión de forma interactiva
Aplicación de GitHub de OAuth
Use una aplicación de OAuth GitHub para autenticar a los usuarios a través de la aplicación y pasar sus credenciales al SDK. Esto permite a la aplicación realizar GitHub Copilot solicitudes de API en nombre de los usuarios que autorizan la aplicación.
**Cómo funciona:**
-
El usuario autoriza la aplicación de OAuth GitHub.
-
La aplicación recibe un token de acceso de usuario (
gho_oghu_prefijo). -
Pase el token al SDK mediante la
githubTokenopción .**Configuración del SDK:**
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient({
githubToken: userAccessToken, // Token from OAuth flow
useLoggedInUser: false, // Don't use stored CLI credentials
});
Para obtener ejemplos en otros idiomas, consulte Autenticación en el github/copilot-sdk repositorio.
**Tipos de token admitidos:**
-
gho_: tokens de acceso de usuario de OAuth -
ghu_— GitHub Tokens de acceso de usuario de la aplicación -
github_pat_— Fine-grained personal access tokens**No se admite:** -
ghp_— Personal access tokens (classic) (cerrar)**Cuándo usar este método:** -
Aplicaciones web en las que los usuarios inician sesión a través de GitHub
-
Aplicaciones de software como servicio (SaaS) basadas en GitHub Copilot
-
Cualquier aplicación multiusuario en la que necesite realizar solicitudes en nombre de distintos usuarios
Variables de entorno
Para la automatización, las canalizaciones de CI/CD y los escenarios de servidor a servidor, puede autenticarse mediante variables de entorno.
**Variables de entorno admitidas (en orden de prioridad):**
1.
COPILOT_GITHUB_TOKEN : se recomienda para el uso explícito Copilot .
1.
GH_TOKEN — compatible con GitHub CLI
1.
GITHUB_TOKEN — GitHub Actions compatible
El SDK detecta y usa automáticamente estas variables de entorno sin necesidad de realizar ningún cambio de código:
import { CopilotClient } from "@github/copilot-sdk";
// Token is read from environment variable automatically
const client = new CopilotClient();
**Cuándo usar este método:**
- Tuberías CI/CD (GitHub Actions, Jenkins, etc.)
- Pruebas automatizadas
- Aplicaciones del lado servidor con cuentas de servicio
- Desarrollo cuando no desea usar el inicio de sesión interactivo
BYOK (traiga su propia clave)
BYOK le permite usar sus propias claves de API de proveedores de modelos, como Fundición de IA de Azure, OpenAI o Anthropic. Esto omite GitHub Copilot completamente la autenticación.
**Ventajas clave:**
- No se requiere ninguna GitHub Copilot suscripción
- Uso de implementaciones de modelos empresariales
- Facturación directa con su proveedor de modelos
- Compatibilidad con puntos de conexión compatibles con Fundición de IA de Azure, OpenAI, Anthropic y OpenAI
Para obtener instrucciones de configuración completas, incluidas las opciones de configuración del proveedor, las limitaciones y los ejemplos de código, consulte Bring Your Own Key (BYOK).
Prioridad de autenticación
Cuando hay varios métodos de autenticación disponibles, el SDK los usa en este orden de prioridad:
-
**Explícito `githubToken`** : token pasado directamente al constructor del SDK -
**Token de API directa** : `GITHUB_COPILOT_API_TOKEN` con `COPILOT_API_URL` -
**Tokens de variables de entorno**: `COPILOT_GITHUB_TOKEN` → → `GH_TOKEN``GITHUB_TOKEN` -
**Credenciales de OAuth almacenadas** provenientes de un inicio de sesión anterior en la `copilot` CLI -
** GitHub CLI ** : `gh auth` credenciales
Deshabilitación del inicio de sesión automático
Para evitar que el SDK use automáticamente las credenciales almacenadas o GitHub CLI la autenticación, establezca la opción useLoggedInUser en false.
const client = new CopilotClient({
useLoggedInUser: false, // Only use explicit tokens
});
Para obtener ejemplos en otros idiomas, consulte Autenticación en el github/copilot-sdk repositorio.
Pasos siguientes
- Bring Your Own Key (BYOK)
- Documentación de servidores MCP: conexión a herramientas externas mediante el SDK