GitHub App으로 인증 정보
REST API 요청을 애플리케이션으로 만들려면 GitHub App로 인증해야 합니다. 예를 들어 API를 사용하여 조직 리소스에 액세스하기 위한 설치 액세스 토큰을 생성하거나, 앱에 대한 조직 전체의 설치를 나열하거나, 앱 설치를 일시 중단하려면 앱으로 인증해야 합니다.
REST API 엔드포인트에서 앱으로 인증해야 하는 경우 해당 엔드포인트에 대한 설명서에는 JWT를 사용하여 엔드포인트에 액세스해야 한다는 설명서가 표시됩니다. GraphQL API는 앱으로 인증해야 하는 쿼리 또는 변형을 지원하지 않습니다.
JWT(JSON 웹 토큰)를 사용하여 GitHub App로 인증
-
앱에 대한 JWT(JSON 웹 토큰)를 생성합니다. 자세한 내용은 "GitHub 앱 대한 JWT(JSON 웹 토큰) 생성"을 참조하세요.
-
요청의 헤더에 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 리포지토리의 사용량을 참조하세요.
-
앱의 설정 페이지에서 앱의 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
. - 사용자 소유 앱의 경우 설정 페이지는 입니다
-
프라이빗 키를 생성합니다. 자세한 내용은 "GitHub 앱에 대한 프라이빗 키 관리"을 참조하세요.
-
에서
octokit
가져옵니다App
.JavaScript import { App } from "octokit";
-
App
의 새 인스턴스를 만듭니다. 다음 예제에서 를 앱 ID에 대한 참조로 바꿉APP_ID
니다. 를 앱의 프라이빗 키 값에 대한 참조로 바꿉니다PRIVATE_KEY
.JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
-
메서드를
octokit
사용하여 JWT가 필요한 REST API 엔드포인트를 요청합니다. 예:JavaScript await app.octokit.request("/app")