앱은 사용자를 대신하여 API 요청을 수행할 수 있습니다. 사용자를 대신하여 앱에서 수행한 API 요청은 해당 사용자에게 귀속됩니다. 예를 들어 앱이 사용자를 대신하여 댓글을 게시하는 경우 GitHub UI는 문제의 작성자로 앱의 아이덴티콘 배지와 함께 사용자의 아바타 사진을 표시합니다.
마찬가지로 요청이 감사 로그 및 보안 로그에서 해당 항목을 트리거하는 경우 로그는 사용자를 행위자로 나열하지만 "programmatic_access_type"은 "GitHub 앱 사용자-서버 토큰"임을 명시합니다.
사용자를 대신하여 API 요청을 하려면 사용자가 앱에 권한을 부여해야 합니다. 여러 구성원이 포함된 조직에 앱이 설치된 경우 앱이 대신 작동하려면 각 구성원이 앱에 권한을 부여해야 합니다. 사용자가 앱에 권한을 부여하기 위해 앱을 설치할 필요가 없습니다.
사용자가 자신의 계정 또는 조직에 앱을 설치할 때 요청한 조직 및 리포지토리 리소스에 액세스할 수 있는 권한을 앱에 부여합니다. 설치 프로세스 중에 앱이 개별 사용자에 대해 요청할 수 있는 계정 ㅊ권한 목록도 표시됩니다. 사용자가 앱에 권한을 부여하면 앱이 대신 사용할 수 있는 권한을 부여하고 앱에서 요청한 계정 권한을 부여합니다.
사용자가 앱에 권한을 부여하면 OAuth 토큰 유형인 사용자 액세스 토큰을 생성할 수 있습니다. 후속 API 요청의 Authorization
헤더에 사용자 액세스 토큰을 보내야 합니다. 사용자에게 앱에 권한을 부여하라는 메시지를 표시하고 사용자 액세스 토큰을 생성하는 방법에 대한 자세한 내용은 "GitHub 앱에 대한 사용자 액세스 토큰 생성"을 참조하세요.
사용자 액세스 토큰을 사용하여 수행한 요청을 "사용자-서버" 요청이라고도 합니다.
토큰은 토큰 소유자가 가지고 있는 리소스에 액세스하고 해당 리소스에 대한 작업을 수행하는 동일한 기능을 가지고 있으며, 토큰에 부여된 범위 또는 권한을 통해 추가로 제한됩니다. 토큰은 사용자에게 추가 액세스 기능을 부여할 수 없습니다.
앱 활동을 사용자 대신 앱에 특성화하려면 앱 설치로 대신 인증해야 합니다. 자세한 내용은 "GitHub 앱 설치로 인증"을 참조하세요.
참고: 사용자가 GitHub App에 권한을 부여한 후 조직 소유의 리소스를 볼 수 없다고 보고하고 조직에서 SAML SSO를 사용하는 경우 다시 인증하기 전에 조직에 대해 활성 SAML 세션을 시작하도록 사용자에게 명령합니다. 자세한 내용은 GitHub Enterprise Cloud 설명서의 "SAML 및 GitHub 앱."