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 "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 GitHub для проверки подлинности в качестве GitHub App. Одним из преимуществ использования пакета SDK для проверки подлинности является то, что вам не нужно создавать веб-маркер JSON (JWT) самостоятельно. Кроме того, пакет SDK позаботится о повторном создании JWT по истечении срока его действия.

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

  1. На странице параметров приложения получите идентификатор приложения.

    • Для приложений, принадлежащих пользователю, страница параметров имеет значение 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.

  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")