Сведения о маркерах доступа к установке
Чтобы пройти проверку подлинности в качестве установки приложения, необходимо создать маркер доступа к установке. Дополнительные сведения о проверке подлинности в качестве установки приложения см. в статье "Проверка подлинности как установка приложения GitHub".
Примечание. Вместо создания маркера доступа к установке можно использовать пакеты SDK octokit %}для проверки подлинности как приложения с помощью GitHub. Пакет SDK будет заботиться о создании маркера доступа к установке и повторно создать маркер после истечения срока его действия. Дополнительные сведения о проверке подлинности в качестве установки приложения см. в статье "Проверка подлинности как установка приложения GitHub".
Необходимо обеспечить безопасность маркера доступа к установке. Дополнительные сведения см. в разделе Рекомендации по созданию приложения GitHub.
Создание маркера доступа к установке
-
Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе "Создание веб-маркера JSON (JWT) для приложения GitHub".
-
Получите идентификатор установки, которую требуется пройти проверку подлинности как.
Если вы отвечаете на событие веб-перехватчика, полезные данные веб-перехватчика будут содержать идентификатор установки.
Вы также можете использовать REST API для поиска идентификатора для установки приложения. Например, можно получить идентификатор установки с
GET /users/{username}/installationпомощью конечных точек илиGET /app/installationsконечныхGET /repos/{owner}/{repo}/installation``GET /orgs/{org}/installationточек. Дополнительные сведения см. в разделе "Конечные точки REST API для GitHub Apps".Вы также можете найти идентификатор приложения на странице параметров приложения. Идентификатор приложения отличается от идентификатора клиента. Дополнительные сведения о переходе на страницу параметров для GitHub Appсм. в разделе "Изменение регистрации приложения GitHub".
-
Отправьте запрос REST API
POSTв/app/installations/INSTALLATION_ID/access_tokens. Добавьте веб-токен JSON вAuthorizationзаголовок запроса. ЗаменитеINSTALLATION_IDидентификатором установки, которую требуется пройти проверку подлинности.Например, отправьте этот запрос curl. Замените
INSTALLATION_IDидентификатором установки иJWTвеб-маркером JSON:curl --request POST \ --url "http(s)://<em>HOSTNAME</em>/api/v3/app/installations/INSTALLATION_ID/access_tokens" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer JWT"При необходимости можно использовать
repositoriesпараметры илиrepository_idsпараметры тела для указания отдельных репозиториев, к которым может получить доступ маркер доступа к установке. Если вы не используетеrepositoriesилиrepository_idsне предоставляете доступ к определенным репозиториям, маркер доступа к установке будет иметь доступ ко всем репозиториям, к которым была предоставлена установка. Маркер доступа к установке не может быть предоставлен доступ к репозиториям, к которым установка не была предоставлена. Вы можете перечислить до 500 репозиториев.При необходимости используйте
permissionsпараметр body, чтобы указать разрешения, которые должен иметь маркер доступа установки. Еслиpermissionsэто не указано, маркер доступа к установке будет иметь все разрешения, предоставленные приложению. Маркер доступа к установке не может быть предоставлен разрешениям, которым приложение не было предоставлено.При использовании
permissionsпараметров для уменьшения доступа к маркеру сложность маркера увеличивается из-за количества разрешений в запросе и количества репозиториев, к к которых будет иметь доступ маркер. Если сложность слишком велика, появится сообщение об ошибке, указывающее максимальное количество репозиториев, которые можно поддерживать. В этом случае необходимо запросить меньше разрешений с параметромpermissions, использоватьrepositoriesилиrepository_idsпараметр для запроса меньше репозиториев или установить приложение наallрепозитории в организации.Ответ будет включать маркер доступа к установке, время истечения срока действия маркера, разрешения, имеющиеся маркером, и репозитории, к которым может получить доступ маркер. Срок действия маркера доступа к установке истекает через 1 час.
Дополнительные сведения об этой конечной точке см. в разделе "Конечные точки REST API для GitHub Apps".
Примечание. В большинстве случаев передать маркер с помощью
Authorization: BearerилиAuthorization: token. Однако при передаче веб-токена JSON (JWT) необходимо использоватьAuthorization: Bearer.