애플리케이션 API
Offering: GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 다음의 인스턴스 전체 OAuth 애플리케이션을 관리합니다: 이 API를 사용하여 그룹 애플리케이션이나 개인 사용자 애플리케이션을 관리할 수 없습니다. 요청이 성공하면 200을 반환합니다. secret 값은 이 API를 통해 노출되지 않습니다.
이 API를 사용하여 다음의 인스턴스 전체 OAuth 애플리케이션을 관리합니다:
이 API를 사용하여 그룹 애플리케이션이나 개인 사용자 애플리케이션을 관리할 수 없습니다.
사전 요구 사항:
- 인스턴스에 대한 관리자 액세스 권한이 있어야 합니다.
애플리케이션 생성#
애플리케이션을 생성합니다.
요청이 성공하면 200을 반환합니다.
POST /applications
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
name |
문자열 | 예 | 애플리케이션 이름. |
redirect_uri |
문자열 | 예 | 애플리케이션의 리디렉션 URI. |
scopes |
문자열 | 예 | 애플리케이션에서 사용 가능한 범위. 공백으로 여러 범위를 구분합니다. |
confidential |
부울 | 아니요 | true인 경우, 애플리케이션이 클라이언트 시크릿과 같은 클라이언트 자격 증명을 안전하게 저장할 수 있습니다. 비기밀 애플리케이션(예: 네이티브 모바일 앱 및 단일 페이지 앱)은 클라이언트 자격 증명을 노출할 수 있습니다. 지정하지 않으면 기본값은 true입니다. |
요청 예시:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--data "name=MyApplication&redirect_uri=http://redirect.uri&scopes=api read_user email" \
--url "https://gitlab.example.com/api/v4/applications"
응답 예시:
{
"id":1,
"application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
"application_name": "MyApplication",
"secret": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34",
"callback_url": "http://redirect.uri",
"confidential": true,
"scopes": ["api", "read_user", "email"]
}
모든 애플리케이션 목록#
모든 애플리케이션을 나열합니다.
GET /applications
요청 예시:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/applications"
응답 예시:
[
{
"id":1,
"application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
"application_name": "MyApplication",
"callback_url": "http://redirect.uri",
"confidential": true,
"scopes": ["api", "read_user"]
}
]
secret 값은 이 API를 통해 노출되지 않습니다.
애플리케이션 삭제#
지정된 애플리케이션을 삭제합니다.
요청이 성공하면 204를 반환합니다.
DELETE /applications/:id
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 | 예 | 애플리케이션의 ID(application_id가 아님). |
요청 예시:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/applications/:id"
애플리케이션 시크릿 갱신#
히스토리
- GitLab 16.11에서 도입되었습니다.
지정된 애플리케이션의 시크릿을 갱신합니다. 요청이 성공하면 200을 반환합니다.
POST /applications/:id/renew-secret
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 | 예 | 애플리케이션의 ID(application_id가 아님). |
요청 예시:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/applications/:id/renew-secret"
응답 예시:
{
"id":1,
"application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
"application_name": "MyApplication",
"secret": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34",
"callback_url": "http://redirect.uri",
"confidential": true,
"scopes": ["api", "read_user"]
}
