참고
코필로트 SDK가 현재 공개 미리 보기에 있습니다. 기능 및 가용성은 변경될 수 있습니다.
인증 방법 개요
GitHub Copilot SDK 는 다양한 사용 사례에 맞게 여러 인증 방법을 지원합니다.
| 메서드 | 사용 사례 | Copilot 구독 필요 | |--------|----------|-------------------------------| | GitHub 로그인 사용자 | 사용자가 GitHub로 로그인하는 대화형 앱 | 예 | | OAuth GitHub 앱 | OAuth를 통해 사용자를 대신하여 작동하는 앱 | 예 | | 환경 변수 | CI/CD, 자동화, 서버-서버 | 예 | | BYOK(사용자 고유의 키 가져오기) | 사용자 고유의 API 키 사용(Azure AI Foundry, OpenAI 등) | No |
GitHub 로그인 사용자
대화형으로 실행할 GitHub Copilot 명령 줄 인터페이스 (CLI) 때 기본 인증 방법입니다. GitHub Copilot CLI 인증을 참조하세요. 사용자는 OAuth 디바이스 흐름을 통해 GitHub 인증하고 SDK는 저장된 자격 증명을 사용합니다.
**작동 방식:**
-
사용자는 CLI를
copilot실행하고 OAuth를 통해 GitHub 로그인합니다. -
자격 증명은 시스템 키 집합에 안전하게 저장됩니다.
-
SDK는 저장된 자격 증명을 자동으로 사용합니다.
**SDK 구성:**
import { CopilotClient } from "@github/copilot-sdk";
// Default: uses signed-in user credentials
const client = new CopilotClient();
다른 언어의 예제는 리포지토리의 인증 을 github/copilot-sdk 참조하세요.
**이 메서드를 사용하는 경우:**
- 사용자가 직접 상호 작용하는 데스크톱 애플리케이션
- 개발 및 테스팅 환경
- 사용자가 대화형으로 로그인할 수 있는 모든 시나리오
OAuth GitHub 앱
OAuth GitHub 앱을 사용하여 애플리케이션을 통해 사용자를 인증하고 해당 자격 증명을 SDK에 전달합니다. 이렇게 하면 애플리케이션이 앱에 권한을 부여하는 사용자를 대신하여 API 요청을 수행할 GitHub Copilot 수 있습니다.
**작동 방식:**
-
사용자는 OAuth GitHub 앱에 권한을 부여합니다.
-
앱은 사용자 액세스 토큰(
gho_또는ghu_접두사)을 받습니다. -
옵션을 통해 토큰을 SDK에 전달합니다
githubToken.**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
});
다른 언어의 예제는 리포지토리의 인증 을 github/copilot-sdk 참조하세요.
**지원되는 토큰 유형:**
*
gho_ — OAuth 사용자 액세스 토큰
*
ghu_ — GitHub 앱 사용자 액세스 토큰
*
github_pat_ — Fine-grained personal access tokens
**지원되지 않음:**
*
ghp_ — Personal access tokens (classic) (닫기)
**이 메서드를 사용하는 경우:**
- 사용자가 특정 방법으로 로그인하는 웹 애플리케이션 GitHub
- SaaS(Software-as-a-Service) 애플리케이션이 GitHub Copilot를 기반으로 구축된
- 다른 사용자를 대신하여 요청을 수행해야 하는 모든 다중 사용자 애플리케이션
환경 변수
자동화, CI/CD 파이프라인 및 서버-서버 시나리오의 경우 환경 변수를 사용하여 인증할 수 있습니다.
**지원되는 환경 변수(우선 순위):**
1.
COPILOT_GITHUB_TOKEN— 명시적 사용에 권장됩니다.Copilot
1.
GH_TOKEN — GitHub CLI 호환 가능
1.
GITHUB_TOKEN — GitHub Actions 호환 가능
SDK는 코드 변경 없이 이러한 환경 변수를 자동으로 검색하고 사용합니다.
import { CopilotClient } from "@github/copilot-sdk";
// Token is read from environment variable automatically
const client = new CopilotClient();
**이 메서드를 사용하는 경우:**
- CI/CD 파이프라인(GitHub Actions, Jenkins 등)
- 자동화된 테스트
- 서비스 계정이 있는 서버 쪽 애플리케이션
- 대화형 로그인을 사용하지 않으려는 경우 개발
BYOK(사용자 고유의 키 가져오기)
BYOK를 사용하면 Azure AI Foundry, OpenAI 또는 Anthropic과 같은 모델 공급자의 고유한 API 키를 사용할 수 있습니다. 이렇게 하면 인증이 GitHub Copilot 완전히 무시됩니다.
**주요 이점:**
- 구독 필요 없음 GitHub Copilot
- 엔터프라이즈 모델 배포 사용
- 모델 공급자를 사용하여 직접 청구
- Azure AI Foundry, OpenAI, Anthropic 및 OpenAI 호환 엔드포인트에 대한 지원
공급자 구성 옵션, 제한 사항 및 코드 예제를 비롯한 전체 설치 지침은 BYOK(Bring Your Own Key)을 참조하세요.
인증 우선 순위
여러 인증 방법을 사용할 수 있는 경우 SDK는 이 우선 순위 순서로 사용합니다.
-
**명시적 `githubToken`** — SDK 생성자에 직접 전달된 토큰 -
**HMAC 키** 또는 `CAPI_HMAC_KEY``COPILOT_HMAC_KEY` 환경 변수 -
**Direct API 토큰** — `GITHUB_COPILOT_API_TOKEN``COPILOT_API_URL` -
**환경 변수 토큰** - `COPILOT_GITHUB_TOKEN` → `GH_TOKEN` → `GITHUB_TOKEN` -
**저장된 OAuth 자격 증명** - 이전 `copilot` CLI 로그인에서 -
** GitHub CLI ** — `gh auth` 자격 증명
자동 로그인 사용 안 림
SDK가 저장된 자격 증명 또는 GitHub CLI 인증을 자동으로 사용하지 않도록 하려면 옵션을 다음으로 useLoggedInUser설정합니다false.
const client = new CopilotClient({
useLoggedInUser: false, // Only use explicit tokens
});
다른 언어의 예제는 리포지토리의 인증 을 github/copilot-sdk 참조하세요.
다음 단계
-
[AUTOTITLE](/copilot/how-tos/copilot-sdk/authenticate-copilot-sdk/bring-your-own-key) -
[MCP 서버 설명서](https://github.com/github/copilot-sdk/blob/main/docs/features/mcp.md) - SDK를 사용하여 외부 도구에 연결