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

REST API에 인증

REST API에 인증하여 더 많은 엔드포인트에 액세스하고 더 높은 속도 제한을 가질 수 있습니다.

인증 정보

대부분의 REST API 엔드포인트는 인증이 필요하거나 인증된 경우 추가 정보를 반환합니다. 또한 인증 시 시간당 더 많은 요청을 수행할 수 있습니다.

요청의 헤더에 토큰을 보내 요청을 인증할 Authorization 수 있습니다. 다음 예제에서 를 토큰에 대한 참조로 바꿉 YOUR-TOKEN 있습니다.

curl --request GET \
--url "https://api.github.com/octocat" \
--header "Authorization: Bearer YOUR-TOKEN" \
--header "X-GitHub-Api-Version: 2022-11-28"

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

토큰 없이 또는 권한이 부족한 토큰과 함께 REST API 엔드포인트를 사용하려고 하면 또는 403 Forbidden 응답을 받게 404 Not Found 됩니다.

personal access token을(를) 사용하여 인증

개인 용도로 GitHub REST API를 사용하려는 경우 personal access token을(를) 만들 수 있습니다. 가능한 경우 GitHub은(는) personal access token (classic) 대신 fine-grained personal access token을(를) 사용하는 것이 좋습니다. personal access token을(를) 만드는 방법에 대한 자세한 내용은 "개인용 액세스 토큰 관리.

personal access token (classic)을(를) 사용하여 인증을 위해 SAML SSO(Single Sign-On)를 적용하는 organization 액세스하는 경우 만든 후 토큰에 권한을 부여해야 합니다.{ % ifversion pat-v2 %} Fine-grained personal access tokens는 organization 대한 액세스 권한이 부여되기 전에 토큰을 만드는 동안 권한이 부여됩니다.{ % endif %} 자세한 내용은 "SAML Single Sign-On에 사용할 개인용 액세스 토큰 권한 부여"을 참조하세요.

SAML SSO를 적용하는 organization 액세스하기 전에 SAML SSO에 대한 personal access token (classic)에 권한을 부여하지 않으면 또는 403 Forbidden 오류가 발생할 404 Not Found 수 있습니다. 오류가 발생하면 403 Forbidden 헤더의 URL에 X-GitHub-SSO 따라 토큰에 권한을 부여할 수 있습니다. URL은 1시간 후에 만료됩니다. 여러 조직에서 올 수 있는 데이터를 요청한 경우 API는 SAML SSO가 필요한 조직의 결과를 반환하지 않습니다. 헤더는 X-GitHub-SSO personal access token (classic)의 SAML SSO 권한 부여가 필요한 조직의 ID를 나타냅니다. 예: X-GitHub-SSO: partial-results; organizations=21955855,20582480

앱에서 생성된 토큰으로 인증

organization 또는 다른 사용자를 대신하여 API를 사용하려면 GitHub에서 GitHub App을(를) 사용하는 것이 좋습니다. 자세한 내용은 "GitHub 앱 인증 정보"을 참조하세요.

OAuth App을(를) 사용하여 OAuth 토큰을 만들어 REST API에 액세스할 수도 있습니다. 그러나 GitHub은 대신 GitHub App을(를) 사용하는 것이 좋습니다. GitHub Apps을(를) 사용하면 앱에 있는 액세스 및 권한을 더 자세히 제어할 수 있습니다.

앱에서 만든 액세스 토큰은 SAML SSO에 대해 자동으로 권한이 부여됩니다.

기본 인증 사용

GitHub Apps 및 OAuth App의 일부 REST API 엔드포인트에서는 기본 인증을 사용하여 엔드포인트에 액세스해야 합니다. 앱의 클라이언트 ID를 사용자 이름으로 사용하고 앱의 클라이언트 암호를 암호로 사용합니다.

예를 들면 다음과 같습니다.

curl --request POST \
--url "https://api.github.com/authorizations" \
--user ":" \
--header "X-GitHub-Api-Version: 2022-11-28"

클라이언트 ID를 찾고 앱의 설정 페이지에서 클라이언트 암호를 생성할 수 있습니다. 사용자 소유 GitHub Apps의 경우 설정 페이지는 입니다 https://github.com/settings/apps/APP-SLUG. organization 소유 GitHub App의 경우 설정 페이지는 입니다https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG. 을 앱의 슬러그화된 이름으로 바꾸고 ORGANIZATION 을 organization 슬러그화된 이름으로 바꿉 APP-SLUG 예들 들어 https://github.com/organizations/octo-org/settings/apps/octo-app입니다.

GitHub Actions 워크플로에서 인증

GitHub Actions 워크플로에서 API를 사용하려면 GitHub에서 토큰을 만드는 대신 기본 제공 GITHUB_TOKEN으로 인증하는 것이 좋습니다. permissions 키를 사용하여 GITHUB_TOKEN에 대한 사용 권한을 부여할 수 있습니다. 자세한 내용은 "자동 토큰 인증"을 참조하세요.

사용자 이름 및 암호를 사용하여 인증

사용자 이름 및 암호를 사용한 인증은 지원되지 않습니다. 사용자 이름 및 암호를 사용하여 인증하려고 하면 4xx 오류가 표시됩니다.

추가 참고 자료