OAuth 권한 부여
REST API를 사용하여 OAuth Apps 및 GitHub Apps의 OAuth 권한 부여와 상호 작용합니다.
OAuth Apps 및 GitHub Apps의 OAuth 권한 부여 정보
이러한 엔드포인트를 사용하여 OAuth Apps 또는 GitHub Apps이(가) GitHub Enterprise Server 인스턴스에서 사용자의 계정에 액세스하는 데 사용하는 OAuth 토큰을 관리할 수 있습니다.
OAuth Apps에 대한 토큰에는 접 gho_
두사 가 있지만 사용자를 대신하여 인증하는 데 사용되는 GitHub Apps에 대한 OAuth 토큰에는 접두사 ghu_
가 있습니다. 두 가지 유형의 OAuth 토큰에 대해 다음 엔드포인트를 사용할 수 있습니다.
Delete an app authorization
OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must use Basic Authentication when accessing this endpoint, using the OAuth application's client_id
and client_secret
as the username and password. You must also 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"에 대한 매개 변수
헤더 |
---|
이름, 형식, 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. |
"Delete an app authorization"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
204 | No Content |
422 | Validation failed, or the endpoint has been spammed. |
"Delete an app authorization"에 대한 코드 샘플
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/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. You must use Basic Authentication to use this endpoint, where the username is the application client_id
and the password is its client_secret
. Invalid tokens will return 404 NOT FOUND
.
"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. |
"Check a token"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
"Check a token"에 대한 코드 샘플
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 200
{
"id": 1,
"url": "https://HOSTNAME/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://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/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. You must use Basic Authentication when accessing this endpoint, using the application's client_id
and client_secret
as the username and password. Invalid tokens will return 404 NOT FOUND
.
"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. |
"Reset a token"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
200 | OK |
422 | Validation failed, or the endpoint has been spammed. |
"Reset a token"에 대한 코드 샘플
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 200
{
"id": 1,
"url": "https://HOSTNAME/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://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/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. You must use Basic Authentication when accessing this endpoint, using the application's client_id
and client_secret
as the username and password.
"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. |
"Delete an app token"에 대한 HTTP 응답 상태 코드
상태 코드 | Description |
---|---|
204 | No Content |
422 | Validation failed, or the endpoint has been spammed. |
"Delete an app token"에 대한 코드 샘플
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
http(s)://HOSTNAME/api/v3/applications/Iv1.8a61f9b3a7aba766/token \
-d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
Response
Status: 204