Конечные точки REST API для авторизации OAuth
Используйте REST API для взаимодействия с OAuth apps и авторизацией OAuth GitHub Apps
Сведения о OAuth apps и авторизацияХ OAuth GitHub Apps
Эти конечные точки можно использовать для управления маркерами OAuth, которые OAuth apps или GitHub Apps используются для доступа к учетным записям людей на GitHub.
Маркеры для OAuth apps имеют префикс gho_
, а маркеры OAuth для GitHub Apps, используемые для проверки подлинности от имени пользователя, имеют префикс ghu_
. Для обоих типов маркеров OAuth можно использовать следующие конечные точки.
Delete an app authorization
OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth access_token
as an input parameter and the grant for the token's owner will be deleted.
Deleting an application's grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user's account and will no longer be listed on the application authorizations settings screen within GitHub.
Базовая проверка подлинности для "Delete an app authorization"
Для использования этой конечной точки необходимо использовать обычную проверку подлинности . Используйте приложение client_id
в качестве имени пользователя и client_secret
пароля.
Параметры для "Delete an app authorization"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
client_id string Обязательное полеThe client ID of the GitHub app. |
Имя., Тип, Description |
---|
access_token string Обязательное полеThe OAuth access token used to authenticate to the GitHub API. |
Коды состояния http-ответа для "Delete an app authorization"
Код состояния | Описание |
---|---|
204 | No Content |
422 | Validation failed, or the endpoint has been spammed. |
Примеры кода для "Delete an app authorization"
Если вы обращаетесь к GitHub в GHE.com, замените api.github.com
выделенный поддомен api.SUBDOMAIN.ghe.com
предприятия.
Пример запроса
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-u "<YOUR_CLIENT_ID>:<YOUR_CLIENT_SECRET>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/applications/Iv1.8a61f9b3a7aba766/grant \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 204
Check a token
OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return 404 NOT FOUND
.
Базовая проверка подлинности для "Check a token"
Для использования этой конечной точки необходимо использовать обычную проверку подлинности . Используйте приложение client_id
в качестве имени пользователя и client_secret
пароля.
Параметры для "Check a token"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
client_id string Обязательное полеThe client ID of the GitHub app. |
Имя., Тип, Description |
---|
access_token string Обязательное полеThe access_token of the OAuth or GitHub application. |
Коды состояния http-ответа для "Check a token"
Код состояния | Описание |
---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
Примеры кода для "Check a token"
Если вы обращаетесь к GitHub в GHE.com, замените api.github.com
выделенный поддомен api.SUBDOMAIN.ghe.com
предприятия.
Пример запроса
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-u "<YOUR_CLIENT_ID>:<YOUR_CLIENT_SECRET>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 200
{
"id": 1,
"url": "https://api.github.com/authorizations/1",
"scopes": [
"public_repo",
"user"
],
"token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
"token_last_eight": "Ae178B4a",
"hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
"app": {
"url": "http://my-github-app.com",
"name": "my github app",
"client_id": "Iv1.8a61f9b3a7aba766"
},
"note": "optional note",
"note_url": "http://optional/note/url",
"updated_at": "2011-09-06T20:39:23Z",
"created_at": "2011-09-06T17:26:27Z",
"fingerprint": "jklmnop12345678",
"expires_at": "2011-09-08T17:26:27Z",
"user": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
}
Reset a token
OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return 404 NOT FOUND
.
Базовая проверка подлинности для "Reset a token"
Для использования этой конечной точки необходимо использовать обычную проверку подлинности . Используйте приложение client_id
в качестве имени пользователя и client_secret
пароля.
Параметры для "Reset a token"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
client_id string Обязательное полеThe client ID of the GitHub app. |
Имя., Тип, Description |
---|
access_token string Обязательное полеThe access_token of the OAuth or GitHub application. |
Коды состояния http-ответа для "Reset a token"
Код состояния | Описание |
---|---|
200 | OK |
422 | Validation failed, or the endpoint has been spammed. |
Примеры кода для "Reset a token"
Если вы обращаетесь к GitHub в GHE.com, замените api.github.com
выделенный поддомен api.SUBDOMAIN.ghe.com
предприятия.
Пример запроса
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-u "<YOUR_CLIENT_ID>:<YOUR_CLIENT_SECRET>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 200
{
"id": 1,
"url": "https://api.github.com/authorizations/1",
"scopes": [
"public_repo",
"user"
],
"token": "ghu_16C7e42F292c6912E7710c838347Ae178B4a",
"token_last_eight": "Ae178B4a",
"hashed_token": "25f94a2a5c7fbaf499c665bc73d67c1c87e496da8985131633ee0a95819db2e8",
"app": {
"url": "http://my-github-app.com",
"name": "my github app",
"client_id": "Iv1.8a61f9b3a7aba766"
},
"note": "optional note",
"note_url": "http://optional/note/url",
"updated_at": "2011-09-06T20:39:23Z",
"created_at": "2011-09-06T17:26:27Z",
"fingerprint": "jklmnop12345678",
"expires_at": "2011-09-08T17:26:27Z",
"user": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://api.github.com/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://api.github.com/users/octocat/followers",
"following_url": "https://api.github.com/users/octocat/following{/other_user}",
"gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
"starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
"organizations_url": "https://api.github.com/users/octocat/orgs",
"repos_url": "https://api.github.com/users/octocat/repos",
"events_url": "https://api.github.com/users/octocat/events{/privacy}",
"received_events_url": "https://api.github.com/users/octocat/received_events",
"type": "User",
"site_admin": false
}
}
Delete an app token
OAuth or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization.
Базовая проверка подлинности для "Delete an app token"
Для использования этой конечной точки необходимо использовать обычную проверку подлинности . Используйте приложение client_id
в качестве имени пользователя и client_secret
пароля.
Параметры для "Delete an app token"
Имя., Тип, Description |
---|
accept string Setting to |
Имя., Тип, Description |
---|
client_id string Обязательное полеThe client ID of the GitHub app. |
Имя., Тип, Description |
---|
access_token string Обязательное полеThe OAuth access token used to authenticate to the GitHub API. |
Коды состояния http-ответа для "Delete an app token"
Код состояния | Описание |
---|---|
204 | No Content |
422 | Validation failed, or the endpoint has been spammed. |
Примеры кода для "Delete an app token"
Если вы обращаетесь к GitHub в GHE.com, замените api.github.com
выделенный поддомен api.SUBDOMAIN.ghe.com
предприятия.
Пример запроса
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-u "<YOUR_CLIENT_ID>:<YOUR_CLIENT_SECRET>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 204