Skip to main content

Autenticación con el SDK de Copilot

Elija el método de autenticación en SDK de GitHub Copilot que mejor se adapte a su escenario de implementación.

¿Quién puede utilizar esta característica?

SDK de GitHub Copilot está disponible con todos los Copilot planes.

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:**
  1. El usuario ejecuta la copilot CLI e inicia sesión a través de GitHub OAuth.

  2. Las credenciales se almacenan de forma segura en la cadena de claves del sistema.

  3. 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:**
  1. El usuario autoriza la aplicación de OAuth GitHub.

  2. La aplicación recibe un token de acceso de usuario (gho_ o ghu_ prefijo).

  3. Pase el token al SDK mediante la githubToken opció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:

  1.        **Explícito `githubToken`** : token pasado directamente al constructor del SDK
    
  2.        **Token de API directa** : `GITHUB_COPILOT_API_TOKEN` con `COPILOT_API_URL`
    
  3.        **Tokens de variables de entorno**: `COPILOT_GITHUB_TOKEN` → → `GH_TOKEN``GITHUB_TOKEN`
    
  4.        **Credenciales de OAuth almacenadas** provenientes de un inicio de sesión anterior en la `copilot` CLI
    
  5.        **
           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