Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

GitHub 앱으로 인증

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

GitHub App으로 인증 정보

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

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

JWT(JSON 웹 토큰)를 사용하여 GitHub App로 인증

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

  2. 요청의 헤더에 JWT를 Authorization 포함합니다. 다음 예제에서 를 JWT로 바꿉 YOUR_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 웹 토큰)를 직접 생성할 필요가 없다는 것입니다. 또한 SDK는 만료될 때 JWT를 다시 생성합니다.

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

  1. 앱의 설정 페이지에서 앱의 ID를 가져옵니다.

    • 사용자 소유 앱의 경우 설정 페이지는 입니다 https://github.com/settings/apps/APP-SLUG.
    • 조직 소유 앱의 경우 설정 페이지는 입니다 https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG.

    을 앱의 슬러그 이름으로 바꾸고 ORGANIZATION 을 조직의 슬러그 이름으로 바꿉 APP-SLUG 있습니다. 예: https://github.com/organizations/octo-org/settings/apps/octo-app.

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

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

    JavaScript
    import { App } from "octokit";
  4. App의 새 인스턴스를 만듭니다. 다음 예제에서 를 앱 ID에 대한 참조로 바꿉 APP_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")