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

GitHub 앱 대한 설치 액세스 토큰 생성

GitHub App에 대한 설치 액세스 토큰을 생성하는 방법을 알아봅니다.

설치 액세스 토큰 정보

앱 설치로 인증하려면 설치 액세스 토큰을 생성해야 합니다. 앱 설치로 인증하는 방법에 대한 자세한 내용은 "GitHub 앱 설치로 인증"을 참조하세요.

참고: 설치 액세스 토큰을 생성하는 대신 GitHub의 Octokit SDK를 사용하여 앱으로 인증할 수 있습니다. SDK는 설치 액세스 토큰 생성을 처리하고 만료되면 토큰을 다시 생성합니다. 앱 설치로 인증하는 방법에 대한 자세한 내용은 "GitHub 앱 설치로 인증"을 참조하세요.

설치 액세스 토큰을 안전하게 유지해야 합니다. 자세한 내용은 "GitHub 앱 만들기 위한 모범 사례"을 참조하세요.

설치 액세스 토큰 생성

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

  2. 인증할 설치의 ID를 가져옵니다.

    웹후크 이벤트에 응답하는 경우 웹후크 페이로드에 설치 ID가 포함됩니다.

    REST API를 사용하여 앱 설치에 대한 ID를 찾을 수도 있습니다. 예를 들어 , , GET /repos/{owner}/{repo}/installation``GET /orgs/{org}/installation또는 GET /app/installations 엔드포인트를 GET /users/{username}/installation사용하여 설치 ID를 가져올 수 있습니다. 자세한 내용은 "AUTOTITLE"을 참조하세요.

  3. REST API POST 요청을 에 보냅니다 /app/installations/INSTALLATION_ID/access_tokens. 요청의 헤더에 JSON 웹 토큰을 Authorization 포함합니다. 를 인증하려는 설치의 ID로 바꿉 INSTALLATION_ID 니다.

    예를 들어 이 curl 요청을 보냅니다. 를 설치 ID로 바꾸고 JWT 를 JSON 웹 토큰으로 바꿉 INSTALLATION_ID 니다.

    curl --request POST \
    --url "http(s)://HOSTNAME/api/v3/app/installations/INSTALLATION_ID/access_tokens" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer JWT"

    필요에 따라 또는 repository_ids 본문 매개 변수를 repositories 사용하여 설치 액세스 토큰이 액세스할 수 있는 개별 리포지토리를 지정할 수 있습니다. 또는 repository_ids 를 사용하여 repositories 특정 리포지토리에 대한 액세스 권한을 부여하지 않으면 설치 액세스 토큰은 설치에 액세스 권한이 부여된 모든 리포지토리에 액세스할 수 있습니다. 설치 액세스 토큰은 설치에 대한 액세스 권한이 부여되지 않은 리포지토리에 대한 액세스 권한을 부여할 수 없습니다.

    필요에 따라 본문 매개 변수를 permissions 사용하여 설치 액세스 토큰에 있어야 하는 권한을 지정합니다. 가 지정되지 않은 경우 permissions 설치 액세스 토큰에는 앱에 부여된 모든 권한이 있습니다. 설치 액세스 토큰은 앱에 부여되지 않은 권한을 부여할 수 없습니다.

    응답에는 설치 액세스 토큰, 토큰이 만료되는 시간, 토큰에 있는 권한 및 토큰이 액세스할 수 있는 리포지토리가 포함됩니다. 설치 액세스 토큰은 1시간 후에 만료됩니다.

    이 엔드포인트에 대한 자세한 내용은 "AUTOTITLE"을 참조하세요.

    참고: 대부분의 경우 Authorization: Bearer 또는 Authorization: token을 사용하여 전달할 수 있습니다. 그러나 JWT(JSON 웹 토큰)를 전달하는 경우 Authorization: Bearer를 사용해야 합니다.