Сведения о маркерах доступа к установке
Чтобы пройти проверку подлинности в качестве установки приложения, необходимо создать маркер доступа к установке. Для получения дополнительной информации об аутентификации как установке приложения см. Authenticating as a GitHub App install.
Примечание.
Вместо генерации токена доступа для установки вы можете использовать GitHubSDK Octokit для аутентификации как приложение. Пакет SDK будет заботиться о создании маркера доступа к установке и повторно создать маркер после истечения срока его действия. Для получения дополнительной информации об аутентификации как установке приложения см. Authenticating as a GitHub App install.
Необходимо обеспечить безопасность маркера доступа к установке. Дополнительные сведения см. в разделе Лучшие практики создания приложения на GitHub.
Примечание.
Начиная с 27 апреля 2026 года, GitHub началось поэтапное внедрение формата без состояния (ghs_APPID_JWT) для всех недавно выпущенных GitHub App токенов установки, что сделало их более производительными и повысило надёжность поверхности нашего API. Если ваше приложение ожидает или полагается на то, что установочные токены будут ровно 40 символов, оно может неправильно обрабатывать этот новый формат токенов. Теперь вы можете проверять свои приложения и рабочие процессы, используя временный заголовок запроса, который позволяет активировать формат токена по запросу. Для получения дополнительной информации о временном заголовке смотрите GitHub блог.
Создание маркера доступа к установке
-
Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе Генерация веб-токена JSON (JWT) для приложения GitHub.
-
Получите идентификатор установки, которую требуется пройти проверку подлинности как.
Если вы отвечаете на событие веб-перехватчика, полезные данные веб-перехватчика будут содержать идентификатор установки.
Вы также можете использовать REST API для поиска идентификатора для установки приложения. Например, вы можете получить идентификатор установки с
GET /users/{username}/installation,GET /repos/{owner}/{repo}/installation``GET /orgs/{org}/installationилиGET /app/installationsконечными точками. Дополнительные сведения см. в разделе Конечные точки REST API для GitHub Apps.Вы также можете найти идентификатор приложения на странице параметров приложения. Идентификатор приложения отличается от идентификатора клиента. Для получения дополнительной информации о переходе на страницу настроек GitHub Appдля вашего , смотрите АВТОЗАГОЛОВОК.
-
Отправьте запрос REST API
POSTв/app/installations/INSTALLATION_ID/access_tokens. Добавьте веб-токен JSON вAuthorizationзаголовок запроса. ЗаменитеINSTALLATION_IDидентификатором установки, которую требуется пройти проверку подлинности.Например, отправьте этот запрос curl. Замените
INSTALLATION_IDидентификатором установки иJWTвеб-маркером JSON:curl --request POST \ --url "http(s)://HOSTNAME/api/v3/app/installations/INSTALLATION_ID/access_tokens" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer JWT" \ --header "X-GitHub-Api-Version: 2026-03-10"При необходимости можно использовать
repositoriesпараметры илиrepository_idsпараметры тела для указания отдельных репозиториев, к которым может получить доступ маркер доступа к установке. Если вы не используетеrepositoriesилиrepository_idsне предоставляете доступ к определенным репозиториям, маркер доступа к установке будет иметь доступ ко всем репозиториям, к которым была предоставлена установка. Маркер доступа к установке не может быть предоставлен доступ к репозиториям, к которым установка не была предоставлена. Вы можете перечислить до 500 репозиториев.При необходимости используйте
permissionsпараметр body, чтобы указать разрешения, которые должен иметь маркер доступа установки. Еслиpermissionsэто не указано, маркер доступа к установке будет иметь все разрешения, предоставленные приложению. Маркер доступа к установке не может быть предоставлен разрешениям, которым приложение не было предоставлено.Ответ будет включать маркер доступа к установке, время истечения срока действия маркера, разрешения, имеющиеся маркером, и репозитории, к которым маркер может получить доступ, если это применимо. Срок действия маркера доступа к установке истекает через 1 час.
Дополнительные сведения об этой конечной точке см. в разделе Конечные точки REST API для GitHub Apps.
Примечание.
В большинстве случаев передать маркер с помощью
Authorization: BearerилиAuthorization: token. Однако при передаче веб-токена JSON (JWT) необходимо использоватьAuthorization: Bearer.