Skip to main content

Проверка подлинности в качестве приложения GitHub

Вы можете пройти проверку подлинности как GitHub App для создания маркера доступа к установке или управления приложением.

О проверке подлинности как GitHub App

Для выполнения запросов REST API в качестве приложения необходимо пройти проверку подлинности как GitHub App. Например, если вы хотите использовать API для создания маркера доступа к установке для доступа к ресурсам организации, перечисления установок в организациях для приложения или приостановки установки приложения, необходимо пройти проверку подлинности в качестве приложения.

Если конечная точка REST API требует проверки подлинности в качестве приложения, документация по этой конечной точке указывает, что для доступа к конечной точке необходимо использовать JWT. API GraphQL не поддерживает какие-либо запросы или изменения, требующие проверки подлинности в качестве приложения.

Использование веб-маркера JSON (JWT) для проверки подлинности в виде GitHub App

  1. Создайте веб-токен JSON (JWT) для приложения. Дополнительные сведения см. в разделе Создание веб-маркера JSON (JWT) для приложения GitHub.

  2. Включите JWT в Authorization заголовок запроса. В следующем примере замените YOUR_JWT JWT.

    curl --request GET \
    --url "http(s)://HOSTNAME/api/v3/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 после истечения срока его действия.

Note

Чтобы использовать библиотеку Octokit.js, необходимо установить и импортировать octokit ее. В следующем примере используются инструкции импорта в соответствии с ES6. Дополнительные сведения о различных методах установки и импорта см. в репозитории octokit/octokit.

  1. Получите идентификатор приложения. Идентификатор приложения можно найти на странице параметров для GitHub App. Дополнительные сведения о переходе на страницу параметров для GitHub Appсм. в разделе "Изменение регистрации приложения GitHub".

  2. Создайте закрытый ключ. Дополнительные сведения см. в разделе Управление закрытыми ключами для приложений GitHub.

  3. Импорт App из octokit.

    JavaScript
    import { App } from "octokit";
    
  4. Создайте новый экземпляр класса App. В следующем примере замените APP_ID ссылку на идентификатор приложения. Замените PRIVATE_KEY ссылкой на значение закрытого ключа приложения.

    JavaScript
     const app = new App({
      appId: APP_ID,
      privateKey: PRIVATE_KEY,
    });
    
  5. octokit Используйте метод для выполнения запроса к конечной точке REST API, требующей JWT. Например:

    JavaScript
    await app.octokit.request("/app")