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