Skip to main content

사용자를 대신하여 GitHub 앱으로 인증

GitHub 앱은 사용자를 대신하여 이슈 생성, 댓글 게시 또는 배포 생성 등의 작업을 수행할 수 있습니다.

앱은 사용자를 대신하여 API 요청을 수행할 수 있습니다. 사용자를 대신하여 앱에서 수행한 API 요청은 해당 사용자에게 귀속됩니다. 예를 들어 앱이 사용자를 대신하여 댓글을 게시하는 경우 GitHub UI는 문제의 작성자로 앱의 아이덴티콘 배지와 함께 사용자의 아바타 사진을 표시합니다.

오버레이된 앱 아이덴티콘 배지가 있는 사용자 아바타가 있는 댓들의 스크린샷입니다. 아바타는 주황색 윤곽선으로 강조 표시됩니다.

마찬가지로 요청이 감사 로그 및 보안 로그에서 해당 항목을 트리거하는 경우 로그는 사용자를 행위자로 나열하지만 "programmatic_access_type"은 "GitHub 앱 사용자-서버 토큰"임을 명시합니다.

사용자를 대신하여 API 요청을 하려면 사용자가 앱에 권한을 부여해야 합니다. 여러 구성원이 포함된 조직 또는 엔터프라이즈에 앱이 설치된 경우 앱이 대신 작동하려면 각 구성원이 앱에 권한을 부여해야 합니다. 사용자가 앱에 권한을 부여하기 위해 앱을 설치할 필요가 없습니다.

사용자가 계정에 앱을 설치하면 앱이 요청한 리소스에 액세스할 수 있는 권한을 부여합니다. 설치 프로세스 중에 앱이 개별 사용자에 대해 요청할 수 있는 계정 ㅊ권한 목록도 표시됩니다. 사용자가 앱에 권한을 부여하면 앱이 대신 사용할 수 있는 권한을 부여하고 앱에서 요청한 계정 권한을 부여합니다.

사용자가 앱에 권한을 부여하면 OAuth 토큰 유형인 사용자 액세스 토큰을 생성할 수 있습니다. 후속 API 요청의 Authorization 헤더에 사용자 액세스 토큰을 보내야 합니다. 사용자에게 앱에 권한을 부여하라는 메시지를 표시하고 사용자 액세스 토큰을 생성하는 방법에 대한 자세한 내용은 GitHub 앱에 대한 사용자 액세스 토큰 생성을(를) 참조하세요.

사용자를 대신하여 작동하는 경우 안전하고 적절한 액세스를 보장하기 위해 앱의 액세스가 제한됩니다.

  • 앱은 사용자가 액세스할 수 있는 리소스에만 액세스할 수 있습니다. 사용자에게 리포지토리에 대한 액세스 권한이 없으면 앱이 해당 리포지토리에 설치되어 있더라도 앱이 사용자를 대신하여 해당 리포지토리에 액세스할 수 없습니다.
  • 앱은 액세스 권한이 있는 리소스에만 액세스할 수 있습니다. 앱에 Issues 권한이 없으면 사용자가 리포지토리에 액세스할 수 있더라도 사용자의 문제를 생성하거나 읽을 수 없습니다.
  • 앱은 설치된 계정의 리소스에만 액세스할 수 있습니다. 앱이 사용자의 개인 계정에만 설치된 경우, 해당 조직에 앱이 설치되어 있지 않으면 사용자가 속한 조직의 리소스에 액세스할 수 없습니다.

사용자 액세스 토큰을 사용하여 수행한 요청을 "사용자-서버" 요청이라고도 합니다.

토큰은 토큰 소유자가 가지고 있는 리소스에 액세스하고 해당 리소스에 대한 작업을 수행하는 동일한 기능을 가지고 있으며, 토큰에 부여된 범위 또는 권한을 통해 추가로 제한됩니다. 토큰은 사용자에게 추가 액세스 기능을 부여할 수 없습니다.

앱 활동을 사용자 대신 앱에 특성화하려면 앱 설치로 대신 인증해야 합니다. 자세한 내용은 GitHub 앱 설치로 인증을(를) 참조하세요.

참고 항목

사용자가 GitHub App에 권한을 부여한 후 조직 소유의 리소스를 볼 수 없다고 보고하고 조직에서 SAML SSO를 사용하는 경우 다시 인증하기 전에 조직에 대해 활성 SAML 세션을 시작하도록 사용자에게 명령합니다. 자세한 내용은 SAML 및 GitHub 앱을(를) 참조하세요.