만료되는 사용자 액세스 토큰 정보
참고: 만료되는 사용자 액세스 토큰은 현재 선택적 기능이며 변경될 수 있습니다. 자세한 내용은 “GitHub 앱에 대한 사용자-서버 액세스 토큰 만료”를 참조하세요.
일반 토큰 회전을 적용하고 손상된 토큰의 영향을 줄이려면 만료되는 사용자 액세스 토큰을 사용하도록 GitHub App를 구성할 수 있습니다. 앱에서 만료되는 사용자 액세스 토큰을 사용하는 경우 사용자 액세스 토큰을 생성할 때 새로 고침 토큰을 받게 됩니다. 사용자 액세스 토큰은 8시간 후에 만료되고 새로 고침 토큰은 6개월 후에 만료됩니다. 자세한 내용은 "GitHub 앱 대한 사용자 액세스 토큰 생성"을 참조하세요.
새로 고침 토큰을 사용하여 새 사용자 액세스 토큰과 새 새로 고침 토큰을 생성할 수 있습니다. 새로 고침 토큰을 사용하면 새로 고침 토큰과 이전 사용자 액세스 토큰이 더 이상 작동하지 않습니다.
새로 고침 토큰을 사용하기 전에 만료되는 경우 웹 애플리케이션 흐름 또는 디바이스 흐름을 통해 사용자를 전송하여 사용자 액세스 토큰 및 새로 고침 토큰을 다시 생성할 수 있습니다. 자세한 내용은 "GitHub 앱 대한 사용자 액세스 토큰 생성"을 참조하세요.
만료되는 사용자 액세스 토큰을 사용하도록 앱 구성
앱을 만들 때 옵트아웃하지 않는 한 사용자 액세스 토큰의 만료가 활성화됩니다. 자세한 내용은 "GitHub 앱 만들기. 앱을 만든 후에 이 설정을 구성할 수도 있습니다.
-
계정 설정으로 이동합니다.
- 개인 계정이 소유하는 GitHub App의 경우 페이지 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, 설정을 클릭합니다.
- 조직이 소유하는 GitHub App의 경우 페이지 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, 조직을 클릭합니다. 그런 다음, 조직 오른쪽에서 설정을 클릭합니다.
-
왼쪽 사이드바에서 개발자 설정을 클릭합니다.
-
왼쪽 사이드바에서 GitHub Apps를 클릭합니다.
-
수정하려는 GitHub App 옆에 있는 편집을 클릭합니다.
-
GitHub Apps 설정 사이드바에서 선택적 기능을 클릭합니다.
-
"사용자-서버 토큰 만료" 옆에 있는 옵트인 또는 옵트아웃을 클릭합니다. 이 설정은 적용하는 데 몇 초 정도 걸릴 수 있습니다.
GitHub에서는 보안 향상을 위해 이 기능을 옵트인하는 것이 좋습니다.
사용자 액세스 토큰을 이미 생성한 후 만료되는 사용자 액세스 토큰을 옵트인하는 경우 이전에 생성된 사용자 액세스 토큰은 만료되지 않습니다. 엔드포인트를 사용하여 이러한 토큰을 삭제할 DELETE /applications/CLIENT_ID/token
수 있습니다. 자세한 내용은 "OAuth 권한 부여"을 참조하세요.
새로 고침 토큰을 사용하여 사용자 액세스 토큰 새로 고침
-
POST
다음 쿼리 매개 변수와 함께 이 URL을 요청합니다.https://github.com/login/oauth/access_token
쿼리 매개 변수 형식 설명 client_id
string
필수 사항입니다. 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_secret
string
필수 사항입니다. GitHub App에 대한 클라이언트 암호입니다. 앱의 설정 페이지에서 클라이언트 암호를 생성할 수 있습니다. grant_type
string
필수 사항입니다. 값은 "refresh_token"이어야 합니다. refresh_token
string
필수 사항입니다. 사용자 액세스 토큰을 생성할 때 받은 새로 고침 토큰입니다. -
GitHub은 다음 매개 변수를 포함하는 응답을 제공합니다.
응답 매개 변수 Type Description access_token
string
사용자 액세스 토큰입니다. 토큰은 로 ghu_
시작합니다.expires_in
integer
만료될 때까지 access_token
의 시간(초)입니다. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 값은 항상 (8시간)입니다28800
.refresh_token
string
토큰 새로 고침. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 토큰은 로 ghr_
시작합니다.refresh_token_expires_in
integer
만료될 때까지 refresh_token
의 시간(초)입니다. 사용자 액세스 토큰의 만료를 사용하지 않도록 설정하면 이 매개 변수가 생략됩니다. 값은 항상 (6개월)입니다15811200
.scope
string
토큰에 포함된 범위입니다. 이 값은 항상 빈 문자열입니다. 기존 OAuth 토큰과 달리 사용자 액세스 토큰은 앱과 사용자가 가진 권한으로 제한됩니다. token_type
string
토큰 유형입니다. 값은 항상 입니다 bearer
.