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

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

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

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

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

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

curl --request GET \
--url "https://api.github.com/octocat" \
--header "Authorization: Bearer YOUR-TOKEN" \
--header "X-GitHub-Api-Version: 2022-11-28"

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

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

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

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

Если вы используете personal access token (classic) для доступа к организации, которая применяет единый вход SAML для проверки подлинности, вам потребуется авторизовать маркер после создания. Fine-grained personal access tokens авторизоваться во время создания маркера, прежде чем будет предоставлен доступ к организации. Дополнительные сведения см. в разделе Авторизация личного токена доступа для использования с документами единого входа SAML.

Если вы не авторизуете personal access token (classic) для SAML SSO, прежде чем пытаться использовать его для доступа к организации, которая применяет единый вход SAML, может возникнуть 404 Not Found ошибка или 403 Forbidden . Если появляется сообщение об ошибке 403 Forbidden , вы можете следовать url-адресу в заголовке X-GitHub-SSO , чтобы авторизовать маркер. Срок действия URL-адреса истекает через час. Если вы запросили данные, которые могут поступать из нескольких организаций, API не будет возвращать результаты из организаций, которым требуется единый вход SAML. В X-GitHub-SSO заголовке будет указан идентификатор организаций, которым требуется авторизация единого входа SAML для personal access token (classic). Например: X-GitHub-SSO: partial-results; organizations=21955855,20582480.

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

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

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

Маркеры доступа, созданные приложениями, автоматически авторизоваться для единого входа SAML.

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

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

Пример:

curl --request POST \
--url "https://api.github.com/authorizations" \
--user ":" \
--header "X-GitHub-Api-Version: 2022-11-28"

Вы можете найти идентификатор клиента и создать секрет клиента на странице параметров приложения. Для пользователей 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. Дополнительные сведения см. в разделе Автоматическая проверка подлинности токенов.

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

Проверка подлинности с использованием имени пользователя и пароля не поддерживается. При попытке пройти проверку подлинности с помощью имени пользователя и пароля вы получите ошибку 4xx.

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