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

사용자 액세스 토큰 새로 고침

일반 토큰 회전을 적용하고 손상된 토큰의 영향을 줄이려면 만료되는 사용자 액세스 토큰을 사용하도록 GitHub App를 구성할 수 있습니다.

만료되는 사용자 액세스 토큰 정보

참고: 만료되는 사용자 액세스 토큰은 현재 선택적 기능이며 변경될 수 있습니다. 자세한 내용은 “GitHub 앱에 대한 사용자-서버 액세스 토큰 만료”를 참조하세요.

일반 토큰 회전을 적용하고 손상된 토큰의 영향을 줄이려면 만료되는 사용자 액세스 토큰을 사용하도록 GitHub App를 구성할 수 있습니다. 앱에서 만료되는 사용자 액세스 토큰을 사용하는 경우 사용자 액세스 토큰을 생성할 때 새로 고침 토큰을 받게 됩니다. 사용자 액세스 토큰은 8시간 후에 만료되고 새로 고침 토큰은 6개월 후에 만료됩니다. 자세한 내용은 "GitHub 앱 대한 사용자 액세스 토큰 생성"을 참조하세요.

새로 고침 토큰을 사용하여 새 사용자 액세스 토큰과 새 새로 고침 토큰을 생성할 수 있습니다. 새로 고침 토큰을 사용하면 새로 고침 토큰과 이전 사용자 액세스 토큰이 더 이상 작동하지 않습니다.

새로 고침 토큰을 사용하기 전에 만료되는 경우 웹 애플리케이션 흐름 또는 디바이스 흐름을 통해 사용자를 전송하여 사용자 액세스 토큰 및 새로 고침 토큰을 다시 생성할 수 있습니다. 자세한 내용은 "GitHub 앱 대한 사용자 액세스 토큰 생성"을 참조하세요.

만료되는 사용자 액세스 토큰을 사용하도록 앱 구성

앱을 만들 때 옵트아웃하지 않는 한 사용자 액세스 토큰의 만료가 활성화됩니다. 자세한 내용은 "GitHub 앱 만들기. 앱을 만든 후에 이 설정을 구성할 수도 있습니다.

  1. 계정 설정으로 이동합니다.

    • 개인 계정이 소유하는 GitHub App의 경우 페이지 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, 설정을 클릭합니다.
    • 조직이 소유하는 GitHub App의 경우 페이지 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, 조직을 클릭합니다. 그런 다음, 조직 오른쪽에서 설정을 클릭합니다.
  2. 왼쪽 사이드바에서 개발자 설정을 클릭합니다.

  3. 왼쪽 사이드바에서 GitHub Apps를 클릭합니다. GitHub의 "개발자 설정" 페이지 스크린샷 "GitHub Apps"라는 레이블이 지정된 옵션은 진한 주황색으로 표시됩니다.

  4. 수정하려는 GitHub App 옆에 있는 편집을 클릭합니다.

  5. GitHub Apps 설정 사이드바에서 선택적 기능을 클릭합니다.

  6. "사용자-서버 토큰 만료" 옆에 있는 옵트인 또는 옵트아웃을 클릭합니다. 이 설정은 적용하는 데 몇 초 정도 걸릴 수 있습니다.

    GitHub에서는 보안 향상을 위해 이 기능을 옵트인하는 것이 좋습니다.

사용자 액세스 토큰을 이미 생성한 후 만료되는 사용자 액세스 토큰을 옵트인하는 경우 이전에 생성된 사용자 액세스 토큰은 만료되지 않습니다. 엔드포인트를 사용하여 이러한 토큰을 삭제할 DELETE /applications/CLIENT_ID/token 수 있습니다. 자세한 내용은 "OAuth 권한 부여"을 참조하세요.

새로 고침 토큰을 사용하여 사용자 액세스 토큰 새로 고침

  1. POST 다음 쿼리 매개 변수와 함께 이 URL을 요청합니다.https://github.com/login/oauth/access_token

    쿼리 매개 변수형식설명
    client_idstring필수 사항입니다. GitHub App의 클라이언트 ID입니다. 클라이언트 ID는 앱 ID와 다릅니다. 앱의 설정 페이지에서 클라이언트 ID를 찾을 수 있습니다.

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

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

    을 앱의 슬러그화된 이름으로 바꾸고 ORGANIZATION 을 organization 슬러그화된 이름으로 바꿉 APP-SLUG 예: https://github.com/organizations/octo-org/settings/apps/octo-app.
    client_secretstring필수 사항입니다. GitHub App에 대한 클라이언트 암호입니다. 앱의 설정 페이지에서 클라이언트 암호를 생성할 수 있습니다.
    grant_typestring필수 사항입니다. 값은 "refresh_token"이어야 합니다.
    refresh_tokenstring필수 사항입니다. 사용자 액세스 토큰을 생성할 때 받은 새로 고침 토큰입니다.
  2. GitHub은 다음 매개 변수를 포함하는 응답을 제공합니다.

    응답 매개 변수TypeDescription
    access_tokenstring사용자 액세스 토큰입니다. 토큰은 로 ghu_시작합니다.
    expires_ininteger만료될 때까지 access_token 의 시간(초)입니다. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 값은 항상 (8시간)입니다 28800 .
    refresh_tokenstring토큰 새로 고침. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 토큰은 로 ghr_시작합니다.
    refresh_token_expires_ininteger만료될 때까지 refresh_token 의 시간(초)입니다. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 값은 항상 (6개월)입니다 15811200 .
    scopestring토큰에 포함된 범위입니다. 이 값은 항상 빈 문자열입니다. 기존 OAuth 토큰과 달리 사용자 액세스 토큰은 앱과 사용자가 가진 권한으로 제한됩니다.
    token_typestring토큰 유형입니다. 값은 항상 입니다 bearer.