Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Проверка подлинности в REST API

Вы можете пройти проверку подлинности в REST API, чтобы получить доступ к большему набору конечных точек и установить более высокий предел скорости.

Об аутентификации

Многие конечные точки REST API требуют проверки подлинности или возвращают дополнительные сведения, если вы прошли проверку подлинности. Кроме того, вы можете делать больше запросов в час при проверке подлинности.

Вы можете проверить подлинность запроса, отправив маркер в заголовке Authorization запроса. В следующем примере замените YOUR-TOKEN ссылкой на маркер:

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/octocat" \
--header "Authorization: Bearer YOUR-TOKEN"

Примечание. В большинстве случаев передать маркер с помощью Authorization: Bearer или Authorization: token. Однако при передаче веб-токена JSON (JWT) необходимо использовать Authorization: Bearer.

При попытке использовать конечную точку REST API без маркера или с маркером, у которого недостаточно разрешений, вы получите 404 Not Found ответ или 403 Forbidden .

Проверка подлинности с помощью personal access token

Если вы хотите использовать REST API GitHub для личного использования, можно создать personal access token. Дополнительные сведения о создании personal access token см. в разделе Управление личными маркерами доступа.

Проверка подлинности с помощью маркера, созданного приложением

Если вы хотите использовать API для организации или от имени другого пользователя, GitHub рекомендует использовать GitHub App. Дополнительные сведения см. в разделе Сведения о проверке подлинности с помощью Приложение GitHub.

Вы также можете создать маркер OAuth с OAuth App для доступа к REST API. Однако GitHub рекомендует использовать вместо него GitHub App. GitHub Apps обеспечивают больший контроль над доступом и разрешениями приложения.

Использование обычной аутентификации

Некоторые конечные точки REST API для GitHub Apps и OAuth Apps требуют использования обычной проверки подлинности для доступа к конечной точке. Вы будете использовать идентификатор клиента приложения в качестве имени пользователя и секрет клиента приложения в качестве пароля.

Пример:

curl --request POST \
--url "http(s)://HOSTNAME/api/v3/authorizations" \
--user ":"

Вы можете найти идентификатор клиента и создать секрет клиента на странице параметров приложения. Для пользователей GitHub Apps страница параметров имеет значение https://github.com/settings/apps/APP-SLUG. Для принадлежащих организации GitHub Apps страница параметров имеет значение https://github.com/organizations/ORGANIZATION/settings/apps/APP-SLUG. Замените APP-SLUG на вялое имя приложения, а ORGANIZATION — на вялое имя вашей организации. Например, https://github.com/organizations/octo-org/settings/apps/octo-app.

Проверка подлинности в рабочем процессе GitHub Actions

Если вы хотите использовать API в рабочем процессе GitHub Actions, GitHub рекомендует выполнять проверку подлинности с помощью встроенного GITHUB_TOKEN вместо создания маркера. Вы можете предоставить разрешения для GITHUB_TOKEN с помощью ключа permissions. Дополнительные сведения см. в разделе Автоматическая проверка подлинности токенов.

Проверка подлинности с помощью имени пользователя и пароля

GitHub рекомендует использовать маркер для проверки подлинности в REST API вместо пароля. У вас есть больше контроля над тем, что может делать маркер, и вы можете отозвать маркер в любое время. Однако вы также можете пройти проверку подлинности в REST API, используя имя пользователя и пароль для обычной проверки подлинности. Для этого передайте имя пользователя и пароль с --user помощью параметра :

curl --request GET \
--url "http(s)://HOSTNAME/api/v3/user" \
--user USERNAME:PASSWORD

Дополнительные материалы