InfoGrab DocsInfoGrab Docs

사용자 애플리케이션 API

요약

이 API를 사용하여 다음과 같은 사용자 수준 OAuth 애플리케이션을 관리합니다: GitLab을 인증 공급자로 사용합니다. 사용자를 대신하여 GitLab 리소스에 액세스를 허용합니다. 인스턴스 전체 애플리케이션을 관리하려면 애플리케이션 API를 사용하세요.

이 API를 사용하여 다음과 같은 사용자 수준 OAuth 애플리케이션을 관리합니다:

인스턴스 전체 애플리케이션을 관리하려면 애플리케이션 API를 사용하세요.

사전 조건:

  • 관리자 액세스 권한이 있거나 애플리케이션을 소유한 사용자로 인증되어야 합니다.

애플리케이션 생성#

인증된 사용자를 위한 새 OAuth 애플리케이션을 생성합니다.

요청이 성공하면 201을 반환합니다.

POST /user/applications

지원되는 속성:

속성 타입 필수 여부 설명
name string yes 애플리케이션 이름.
redirect_uri string yes 애플리케이션의 리디렉션 URI.
scopes string yes 애플리케이션에서 사용할 수 있는 스코프. 여러 스코프는 공백으로 구분합니다.
confidential boolean no 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/user/applications"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "MyApplication",
    "secret": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

모든 애플리케이션 목록 조회#

인증된 사용자가 소유한 모든 애플리케이션을 나열합니다.

GET /user/applications

요청 예시:

curl --request GET \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications"

응답 예시:

[
    {
        "id":1,
        "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
        "application_name": "MyApplication",
        "callback_url": "http://redirect.uri",
        "confidential": true
    }
]

특정 애플리케이션 조회#

인증된 사용자가 소유한 특정 애플리케이션의 세부 정보를 조회합니다.

요청이 성공하면 200을 반환합니다.

GET /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.

요청 예시:

curl --request GET \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "MyApplication",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

애플리케이션 수정#

인증된 사용자가 소유한 기존 애플리케이션을 업데이트합니다.

요청이 성공하면 200을 반환합니다.

PUT /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.
name string no 애플리케이션 이름.
scopes string no 애플리케이션에서 사용할 수 있는 스코프. 여러 스코프는 공백으로 구분합니다.

요청 예시:

curl --request PUT \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --data "name=UpdatedApplication" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "UpdatedApplication",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

애플리케이션 삭제#

인증된 사용자가 소유한 지정된 애플리케이션을 삭제합니다.

요청이 성공하면 204를 반환합니다.

DELETE /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.

요청 예시:

curl --request DELETE \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"

사용자 애플리케이션 API

GitLab v19.1
Tier: Free, Premium, Ultimate
Offering: GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

이 API를 사용하여 다음과 같은 사용자 수준 OAuth 애플리케이션을 관리합니다: GitLab을 인증 공급자로 사용합니다. 사용자를 대신하여 GitLab 리소스에 액세스를 허용합니다. 인스턴스 전체 애플리케이션을 관리하려면 애플리케이션 API를 사용하세요.

이 API를 사용하여 다음과 같은 사용자 수준 OAuth 애플리케이션을 관리합니다:

인스턴스 전체 애플리케이션을 관리하려면 애플리케이션 API를 사용하세요.

사전 조건:

  • 관리자 액세스 권한이 있거나 애플리케이션을 소유한 사용자로 인증되어야 합니다.

애플리케이션 생성#

인증된 사용자를 위한 새 OAuth 애플리케이션을 생성합니다.

요청이 성공하면 201을 반환합니다.

POST /user/applications

지원되는 속성:

속성 타입 필수 여부 설명
name string yes 애플리케이션 이름.
redirect_uri string yes 애플리케이션의 리디렉션 URI.
scopes string yes 애플리케이션에서 사용할 수 있는 스코프. 여러 스코프는 공백으로 구분합니다.
confidential boolean no 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/user/applications"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "MyApplication",
    "secret": "ee1dd64b6adc89cf7e2c23099301ccc2c61b441064e9324d963c46902a85ec34",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

모든 애플리케이션 목록 조회#

인증된 사용자가 소유한 모든 애플리케이션을 나열합니다.

GET /user/applications

요청 예시:

curl --request GET \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications"

응답 예시:

[
    {
        "id":1,
        "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
        "application_name": "MyApplication",
        "callback_url": "http://redirect.uri",
        "confidential": true
    }
]

특정 애플리케이션 조회#

인증된 사용자가 소유한 특정 애플리케이션의 세부 정보를 조회합니다.

요청이 성공하면 200을 반환합니다.

GET /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.

요청 예시:

curl --request GET \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "MyApplication",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

애플리케이션 수정#

인증된 사용자가 소유한 기존 애플리케이션을 업데이트합니다.

요청이 성공하면 200을 반환합니다.

PUT /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.
name string no 애플리케이션 이름.
scopes string no 애플리케이션에서 사용할 수 있는 스코프. 여러 스코프는 공백으로 구분합니다.

요청 예시:

curl --request PUT \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --data "name=UpdatedApplication" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"

응답 예시:

{
    "id":1,
    "application_id": "5832fc6e14300a0d962240a8144466eef4ee93ef0d218477e55f11cf12fc3737",
    "application_name": "UpdatedApplication",
    "callback_url": "http://redirect.uri",
    "confidential": true
}

애플리케이션 삭제#

인증된 사용자가 소유한 지정된 애플리케이션을 삭제합니다.

요청이 성공하면 204를 반환합니다.

DELETE /user/applications/:id

지원되는 속성:

속성 타입 필수 여부 설명
id integer yes 애플리케이션의 ID. application_id와 다릅니다.

요청 예시:

curl --request DELETE \
    --header "PRIVATE-TOKEN: <your_access_token>" \
    --url "https://gitlab.example.com/api/v4/user/applications/:id"