이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud 표준 표현을 적용한 API입니다.
Application을 생성합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| POST | /applications |
요청 헤더
Ncloud Single Sign-On API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Single Sign-On 요청 헤더를 참조해 주십시오.
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
name |
String | Required | Application 이름. 이름 중복은 대소문자를 구분하여 검사합니다(예: App 과 app 은 다른 이름).
|
description |
String | null | Optional | Application 설명
|
applicationUrl |
String (uri) | null | Optional | Application URL
|
applicationType |
String | Required | Application 유형
|
memberLoginPolicy |
String | Required | 메인 계정 로그인 허용 여부
|
clientAuthMethod |
String | Required | OAuth 클라이언트 인증 방식
|
redirectUris |
List<String (uri)> | Required | Application 리디렉션 URI 목록
|
postLogoutRedirectUris |
List<String (uri)> | Optional | OIDC RP-Initiated Logout 시 허용할 post_logout_redirect_uri 화이트리스트
|
accessType |
String | Required | OAuth 클라이언트 접근 유형
|
grantTypes |
List<String> | Required | 권한 부여 방식
|
scopes |
List<String> | Required | Application 접근 가능 정보 범위
|
accessTokenValiditySeconds |
Integer (int64) | Optional | Access Token 유효 기간(초)
|
refreshTokenValiditySeconds |
Integer (int64) | Optional | Refresh Token 유효 기간(초)
|
consentPage |
Object<ConsentPageV2> | Required | 개인 정보 제공 동의 페이지 정보 |
protocol |
String | Optional | 프로토콜
|
tags |
Map<String> | null | Optional | Application의 태그. {tagKey}:{tagValue} 형식
|
tags.<키> |
String | - | 태그 값
|
ConsentPageV2
개인 정보 제공 동의 페이지 정보
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
applicationName |
Map<String> | Required | 제공받는 자 정보
|
applicationName.<키> |
String | - | 해당 언어의 제공받는 자
|
useLanguages |
List<String> | Required | 사용 언어 목록
|
defaultLanguage |
String | Required | 기본 언어
|
usePurposeDescription |
Map<String> | Required | 이용 목적 정보
|
usePurposeDescription.<키> |
String | - | 해당 언어의 이용 목적
|
usePeriodDescription |
Map<String> | Required | 보유 및 이용 기간 정보
|
usePeriodDescription.<키> |
String | - | 해당 언어의 보유 및 이용 기간
|
dataTransferredAbroad |
Boolean | Required | 개인정보 국외 이전 여부
|
dataTransferCountry |
Map<String> | Optional | 이전되는 국가 정보
|
dataTransferCountry.<키> |
String | - | 해당 언어의 이전되는 국가
|
dataRecipients |
Map<String> | Optional | 이전 받는 자 정보
|
dataRecipients.<키> |
String | - | 해당 언어의 이전 받는 법인 이름
|
dataRecipientsContact |
Map<String> | Optional | 이전 받는 자의 연락처 정보
|
dataRecipientsContact.<키> |
String | - | 해당 언어의 이전 받는 법인의 개인정보 관리자 연락처
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request POST 'https://sso.apigw.ntruss.com/api/v2/applications' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--data '{
"name": "example-name",
"applicationType": "WEB",
"memberLoginPolicy": "ALLOW",
"clientAuthMethod": "client_secret_basic",
"redirectUris": [
"https://example.com/callback"
],
"accessType": "confidential",
"grantTypes": [
"authorization_code"
],
"scopes": [
"openid"
],
"consentPage": {
"applicationName": {},
"useLanguages": [
"ko"
],
"defaultLanguage": "ko",
"usePurposeDescription": {},
"usePeriodDescription": {},
"dataTransferredAbroad": true
}
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
applicationId |
String (uuid) | - | Application 아이디
|
oauth2 |
Object<OauthResponse> | - | OAuth Client 자격 증명 정보 |
protocol |
String | - | Application 프로토콜
|
OauthResponse
OAuth Client 자격 증명 정보
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
clientId |
String | - | OAuth Client 아이디
|
clientSecret |
String | - | OAuth Client Secret. accessType 이 public 인 Application 은 Client Secret 을 사용하지 않아 생략됩니다.
|
응답 상태 코드
Ncloud Single Sign-On API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Single Sign-On 응답 상태 코드를 참조해 주십시오.
이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 201 | - | - | 자원 생성 성공 |
| 404 | NotFound | One or more of the resources in the request does not exist in the system. | 잘못된 URL 요청, 마스터 계정에 Organization이 존재하지 않음, 존재하지 않는 관리형 정책(System Managed) 아이디 입력, SSO User에 MFA Device가 존재하지 않음 |
| 404 | ResourceNotFound | The specified resource could not be found. | 생성된 Tenant가 없음, 존재하지 않는 자원 아이디 입력 |
| 409 | AlreadyExists | The resource with the name requested already exists. | 이미 사용 중인 이름·Tenant 별칭·로그인 아이디 입력, 이미 생성된 External IdP 또는 이미 등록된 IdP 인증서 |
응답 예시
응답 예시는 다음과 같습니다.
{
"applicationId": "6f708192-6666-4f01-9234-56789abcdef0",
"oauth2": {
"clientId": "8d9e0f10-8888-4123-9456-789abcdef012",
"clientSecret": "d1517905-********-3b3010784920"
},
"protocol": "OAUTH2"
}