Skip to main content

GitHub 앱으로 인증

설치 액세스 토큰을 생성하거나 앱을 관리하기 위해 GitHub App으로 인증할 수 있습니다.

GitHub App으로 인증 정보

애플리케이션으로 REST API 요청을 하려면 GitHub App으로 인증해야 합니다. 예를 들어 API를 사용하여 조직 리소스에 액세스하기 위한 설치 액세스 토큰을 생성하거나, 조직 전체에 앱 설치를 나열하거나, 앱 설치를 일시 중단하려면 앱으로 인증해야 합니다.

REST API 엔드포인트에서 앱으로 인증해야 하는 경우 해당 엔드포인트에 대한 설명서는 JWT를 사용하여 엔드포인트에 액세스해야 함을 나타냅니다. GraphQL API는 앱으로 인증해야 하는 쿼리 또는 변형을 지원하지 않습니다.

JWT(JSON Web Token)를 사용하여 GitHub App으로 인증

  1. 앱에 대한 JWT(JSON Web Token)를 생성합니다. 자세한 내용은 "GitHub 앱에 대한 JWT(JSON Web Token) 생성"을(를) 참조하세요.

  2. 요청의 Authorization 헤더에 JWT를 포함합니다. 다음 예제에서 YOUR_JWT을 JWT로 바꿉니다.

    curl --request GET \
    --url "https://api.github.com/app/installations" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer YOUR_JWT" \
    --header "X-GitHub-Api-Version: 2022-11-28"
    

Octokit.js SDK를 사용하여 GitHub App으로 인증

GitHub의 Octokit.js SDK를 사용하여 GitHub App으로 인증할 수 있습니다. SDK를 사용하여 인증하는 것의 한 가지 이점은 JWT(JSON Web Token) 을(를) 직접 생성할 필요가 없다는 것입니다. 또한 SDK는 만료될 때 JWT를 다시 생성합니다.

참고: Octokit.js 라이브러리를 사용하려면 octokit를 설치하고 가져와야 합니다. 다음 예제에서는 ES6에 따라 import 문을 사용합니다. 다양한 설치 및 가져오기 방법에 대한 자세한 내용은 octokit/octokit 리포지토리의 사용량을 참조하세요.

  1. 앱의 ID를 받습니다. GitHub App의 설정 페이지에서 앱의 ID를 찾을 수 있습니다. GitHub App의 설정 페이지로 이동하는 방법에 대한 자세한 내용은 "GitHub 앱 등록 수정"을 참조하세요.

  2. 프라이빗 키를 생성합니다. 자세한 내용은 "GitHub 앱에 대한 프라이빗 키 관리"을(를) 참조하세요.

  3. octokit에서 App을 가져옵니다.

    JavaScript
    import { App } from "octokit";
    
  4. App 의 새 인스턴스를 만듭니다. 다음 예제에서는 APP_ID을 앱 ID에 대한 참조로 바꿉니다. PRIVATE_KEY을 앱의 프라이빗 키 값에 대한 참조로 바꿉니다.

    JavaScript
     const app = new App({
      appId: APP_ID,
      privateKey: PRIVATE_KEY,
    });
    
  5. octokit 메서드를 사용하여 JWT가 필요한 REST API 엔드포인트에 요청합니다. 예시:

    JavaScript
    await app.octokit.request("/app")