Skip to main content

Autenticação com o SDK do Copilot

Escolha o método de autenticação no SDK do GitHub Copilot que melhor se adapta ao seu cenário de implantação.

Quem pode usar esse recurso?

SDK do GitHub Copilot está disponível com todos os Copilot planos.

Observação

SDK do Copilot está em versão prévia pública no momento. A funcionalidade e a disponibilidade estão sujeitas a alterações.

Visão geral dos métodos de autenticação

          SDK do GitHub Copilot dá suporte a vários métodos de autenticação para atender a diferentes casos de uso.

| Método | Caso de uso | Copilot assinatura necessária | |--------|----------|-------------------------------| | Usuário conectado do GitHub | Aplicativos interativos onde os usuários fazem login com GitHub | Sim | | Aplicativo OAuth GitHub | Aplicativos que atuam em nome dos usuários por meio do OAuth | Sim | | Variáveis de ambiente | CI/CD, automação, servidor para servidor | Sim | | BYOK (traga sua própria chave) | Usando suas próprias chaves de API (Azure AI Foundry, OpenAI etc) | No |

Usuário conectado do GitHub

Esse é o método de autenticação padrão ao executar o CLI do GitHub Copilot modo interativo, consulte Autenticando GitHub Copilot CLI. Os usuários se autenticam por meio do GitHub fluxo do dispositivo OAuth e o SDK usa suas credenciais armazenadas.

          **Como funciona**:
  1. O usuário executa a copilot CLI e entra por meio GitHub do OAuth.

  2. As credenciais são armazenadas com segurança no conjunto de chaves do sistema.

  3. O SDK usa automaticamente as credenciais armazenadas.

           **Configuração do SDK:**
    
import { CopilotClient } from "@github/copilot-sdk";

// Default: uses signed-in user credentials
const client = new CopilotClient();

Para obter exemplos em outros idiomas, consulte Autenticação no github/copilot-sdk repositório.

          **Quando usar este método:**
  • Aplicativos da área de trabalho em que os usuários interagem diretamente
  • Ambientes de desenvolvimento e teste
  • Qualquer cenário em que um usuário possa entrar interativamente

Aplicativo GitHub OAuth

Use um aplicativo OAuth GitHub para autenticar usuários por meio do aplicativo e passar suas credenciais para o SDK. Isso permite que seu aplicativo faça GitHub Copilot solicitações de API em nome de usuários que autorizam seu aplicativo.

          **Como funciona**:
  1. Usuário autoriza seu aplicativo OAuth GitHub.

  2. Seu aplicativo recebe um token de acesso de usuário com prefixo (gho_ ou ghu_).

  3. Passe o token para o SDK por meio da opção githubToken .

           **Configuração do 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 obter exemplos em outros idiomas, consulte Autenticação no github/copilot-sdk repositório.

          **Tipos de token com suporte:**

* gho_ — Tokens de acesso do usuário OAuth * ghu_ — GitHub Tokens de acesso do usuário do aplicativo * github_pat_ — Fine-grained personal access tokens

          **Sem suporte:**

* ghp_ — Personal access tokens (classic) (fechando)

          **Quando usar este método:**
  • Aplicativos Web em que os usuários se inscrevem por meio de GitHub
  • Aplicativos SaaS (software como serviço) baseados em GitHub Copilot
  • Qualquer aplicativo multiusuário em que você precisa fazer solicitações em nome de usuários diferentes

Variáveis de ambiente

Para automação, pipelines de CI/CD e cenários de servidor para servidor, você pode se autenticar usando variáveis de ambiente.

          **Variáveis de ambiente com suporte (em ordem de prioridade):**

1. COPILOT_GITHUB_TOKEN— Recomendado para uso explícito Copilot 1. GH_TOKEN — GitHub CLI compatível 1. GITHUB_TOKEN — GitHub Actions compatível

O SDK detecta e usa automaticamente essas variáveis de ambiente sem nenhuma alteração de código necessária:

import { CopilotClient } from "@github/copilot-sdk";

// Token is read from environment variable automatically
const client = new CopilotClient();
          **Quando usar este método:**
  • Pipelines de CI/CD (GitHub Actions, Jenkins etc)
  • Teste automatizado
  • Aplicativos do lado do servidor com contas de serviço
  • Desenvolvimento quando você não deseja usar o login interativo

BYOK (Bring Your Own Key - traga sua própria chave)

O BYOK permite que você use suas próprias chaves de API de provedores de modelo, como Azure AI Foundry, OpenAI ou Antropic. Isso ignora totalmente a autenticação GitHub Copilot.

          **Principais benefícios:**
  • Nenhuma GitHub Copilot assinatura necessária
  • Usar implantações de modelo empresarial
  • Cobrança direta com seu fornecedor de modelo
  • Suporte para pontos de extremidade compatíveis com AZure AI Foundry, OpenAI, Antropic e OpenAI

Para obter instruções de instalação completas, incluindo opções de configuração do provedor, limitações e exemplos de código, consulte traga sua própria chave (BYOK).

Prioridade de autenticação

Quando vários métodos de autenticação estão disponíveis, o SDK os usa nesta ordem de prioridade:

  1.        **Explícito `githubToken`** — Token passado diretamente para o construtor do SDK
    
  2.        **Chave HMAC** – `CAPI_HMAC_KEY` ou `COPILOT_HMAC_KEY` variáveis de ambiente
    
  3.        **Token de API Direta** – `GITHUB_COPILOT_API_TOKEN` com `COPILOT_API_URL`
    
  4.        **Tokens de variáveis de ambiente** — `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN`
    
  5.        **Credenciais de OAuth armazenadas** — Do login da CLI anterior `copilot`
    
  6.        **
           GitHub CLI
           ** — `gh auth` credenciais
    

Desabilitando a entrada automática

Para impedir que o SDK use automaticamente credenciais armazenadas ou GitHub CLI autenticação, defina a opção useLoggedInUser como false:

const client = new CopilotClient({
    useLoggedInUser: false,  // Only use explicit tokens
});

Para obter exemplos em outros idiomas, consulte Autenticação no github/copilot-sdk repositório.

Próximas Etapas 

  •         [AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) 
    
  •         [Documentação de servidores MCP](https://github.com/github/copilot-sdk/blob/main/docs/features/mcp.md) – Conectar-se a ferramentas externas usando o SDK