О проверке подлинности как 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://api.github.com/app/installations" \ --header "Accept: application/vnd.github+json" \ --header "Authorization: Bearer YOUR_JWT" \ --header "X-GitHub-Api-Version: 2022-11-28"
Использование пакета SDK Octokit.js для проверки подлинности в виде GitHub App
Для проверки подлинности как %}можно использовать пакет SDK Octokit.js %}. Одним из преимуществ использования пакета SDK для проверки подлинности является то, что вам не нужно создавать веб-токен JSON (JWT) самостоятельно. Кроме того, пакет SDK будет заботиться о повторном создании JWT после истечения срока его действия.
Примечание. Чтобы использовать библиотеку Octokit.js, необходимо установить и импортировать octokit
ее. В следующем примере используются инструкции импорта в соответствии с ES6. Дополнительные сведения о различных методах установки и импорта см. в репозитории octokit/octokit.
-
Получите идентификатор приложения. Идентификатор приложения можно найти на странице параметров для GitHub App. Дополнительные сведения о переходе на страницу параметров для GitHub Appсм. в разделе "Изменение регистрации приложения GitHub".
-
Создайте закрытый ключ. Дополнительные сведения см. в разделе Управление закрытыми ключами для приложений GitHub.
-
Импорт
App
изoctokit
.JavaScript import { App } from "octokit";
import { App } from "octokit";
-
Создайте новый экземпляр класса
App
. В следующем примере заменитеAPP_ID
ссылку на идентификатор приложения. ЗаменитеPRIVATE_KEY
ссылкой на значение закрытого ключа приложения.JavaScript const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
const app = new App({ appId: APP_ID, privateKey: PRIVATE_KEY, });
-
octokit
Используйте метод для выполнения запроса к конечной точке REST API, требующей JWT. Например:JavaScript await app.octokit.request("/app")
await app.octokit.request("/app")