Сведения о проверке подлинности в качестве GitHub App
Чтобы выполнять запросы REST API в качестве приложения, необходимо пройти проверку подлинности как GitHub App. Например, если вы хотите использовать API для создания маркера доступа к установке для доступа к ресурсам организации, перечисления установок в организациях для приложения или приостановки установки приложения, необходимо пройти проверку подлинности как приложение.
Если конечная точка REST API требует проверки подлинности в качестве приложения, в документации по этой конечной точке будет указано, что для доступа к конечной точке необходимо использовать JWT. API GraphQL не поддерживает запросы или изменения, требующие проверки подлинности в качестве приложения.
Использование веб-маркера JSON (JWT) для проверки подлинности в качестве GitHub App
-
Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе Создание веб-токена JSON (JWT) для Приложение GitHub.
-
Включите JWT в
Authorization
заголовок запроса. В следующем примере заменитеYOUR_JWT
своим JWT.curl --request GET \ --url "https://HOSTNAME/api/v3/app/installations" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer YOUR_JWT"
Использование пакета SDK для Octokit.js для проверки подлинности в качестве GitHub App
Вы можете использовать пакет SDK для Octokit.js GitHub для проверки подлинности в качестве GitHub App. Одним из преимуществ использования пакета SDK для проверки подлинности является то, что вам не нужно создавать веб-маркер JSON (JWT) самостоятельно. Кроме того, пакет SDK позаботится о повторном создании JWT по истечении срока его действия.
Примечание. Чтобы использовать библиотеку Octokit.js, необходимо установить и импортировать octokit
. В следующем примере используются операторы импорта в соответствии с ES6. Дополнительные сведения о различных методах установки и импорта см. в разделе Использование в репозитории octokit/octokit.
-
На странице параметров приложения получите идентификатор приложения.
- Для приложений, принадлежащих пользователю, страница параметров имеет значение
https://github.com/settings/apps/APP-SLUG
. - Для приложений, принадлежащих организации, страница параметров имеет значение
https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG
.
Замените
APP-SLUG
на slugified name вашего приложения иORGANIZATION
на slugified name вашей организации. Например,https://github.com/organizations/octo-org/settings/apps/octo-app
. - Для приложений, принадлежащих пользователю, страница параметров имеет значение
-
Создайте закрытый ключ. Дополнительные сведения см. в разделе Управление закрытыми ключами для приложений GitHub.
-
Импорт
App
изoctokit
.JavaScript import { App } from "octokit";
-
Создайте новый экземпляр класса
App
. В следующем примере заменитеAPP_ID
ссылкой на идентификатор приложения. ЗаменитеPRIVATE_KEY
ссылкой на значение закрытого ключа приложения.JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
-
octokit
Используйте метод для отправки запроса к конечной точке REST API, для работы с которым требуется JWT. Пример:JavaScript await app.octokit.request("/app")