createApplication

Prev Next
This content is currently unavailable in Ja - 日本語. You are viewing the default (Korean) version.

이 가이드는 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 은 다른 이름).
  • 패턴: ^[A-Za-z]+[A-Za-z0-9_\-\.]*$
  • 길이: 2 ~ 100
  • <예시> example-name
description String | null Optional Application 설명
  • 길이: ~ 500
  • <예시> example description
applicationUrl String (uri) | null Optional Application URL
  • 길이: ~ 1,000
  • <예시> https://sso.example.com
applicationType String Required Application 유형
  • WEB | APP
    • WEB: 웹
    • APP: 앱
  • <예시> WEB
memberLoginPolicy String Required 메인 계정 로그인 허용 여부
  • ALLOW | DENY
    • ALLOW: 허용
    • DENY: 거부
  • <예시> ALLOW
clientAuthMethod String Required OAuth 클라이언트 인증 방식
  • client_secret_basic | client_secret_post | none
    • client_secret_basic: Client 자격 증명을 HTTP Basic 인증 헤더로 전달
    • client_secret_post: Client 아이디와 Secret을 POST 요청 본문에 포함
    • none: 인증 안 함
  • <예시> client_secret_basic
redirectUris List<String (uri)> Required Application 리디렉션 URI 목록
  • 항목 수: 1 ~ 50
  • 항목 <예시> https://example.com/callback
postLogoutRedirectUris List<String (uri)> Optional OIDC RP-Initiated Logout 시 허용할 post_logout_redirect_uri 화이트리스트
  • 항목 수: ~ 50
  • 항목 <예시> https://example.com/logout
accessType String Required OAuth 클라이언트 접근 유형
  • confidential | public
    • confidential: Client 아이디 및 Secret으로 인증 후 접근
    • public: Client 아이디로 인증 후 접근
  • <예시> confidential
grantTypes List<String> Required 권한 부여 방식
  • 항목 authorization_code | implicit | refresh_token | client_credentials | password
    • authorization_code: 자체 생성한 Authorization code로 Access Token 발급
    • implicit: Authorization code 없이 바로 Access Token 발급. 자격 증명을 안전하게 저장하기 힘든 Client 환경에 최적화
    • refresh_token: Access Token 만료 후 재로그인 없이 새 Access Token 발급
    • client_credentials: 사용자 개입 없이 Client 자격 증명만으로 Access Token 발급
    • password: 사용자의 아이디와 비밀번호로 직접 Access Token 발급
scopes List<String> Required Application 접근 가능 정보 범위
  • 항목 수: 1 ~
  • 항목 openid | offline_access | email | address | phone | profile | groups
    • openid: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • profile: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • email: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 이메일
    • groups: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 그룹
    • phone: 전화번호
    • address: 주소
    • offline_access: Refresh Token 발급
accessTokenValiditySeconds Integer (int64) Optional Access Token 유효 기간(초)
  • 범위: 1 ~ 43,200
  • 기본값: 43200
  • <예시> 43200
refreshTokenValiditySeconds Integer (int64) Optional Refresh Token 유효 기간(초)
  • 범위: 1 ~ 2,592,000
  • 기본값: 2592000
  • <예시> 2592000
consentPage Object<ConsentPageV2> Required 개인 정보 제공 동의 페이지 정보
protocol String Optional 프로토콜
  • OAUTH2
    • OAUTH2: OAuth 2.0
  • <예시> OAUTH2
tags Map<String> | null Optional Application의 태그. {tagKey}:{tagValue} 형식
  • 속성 수: ~ 20
tags.<키> String - 태그 값
  • <예시> value1

ConsentPageV2

개인 정보 제공 동의 페이지 정보

필드 타입 필수 여부 설명
applicationName Map<String> Required 제공받는 자 정보
  • 키 ko | ja | en
applicationName.<키> String - 해당 언어의 제공받는 자
  • <예시> Ncloud Single Sign-On
useLanguages List<String> Required 사용 언어 목록
  • 항목 ko | ja | en
    • ko: 한국어
    • en: 영어
    • ja: 일본어
defaultLanguage String Required 기본 언어
  • ko | ja | en
    • ko: 한국어
    • en: 영어
    • ja: 일본어
  • <예시> ko
usePurposeDescription Map<String> Required 이용 목적 정보
  • 키 ko | ja | en
usePurposeDescription.<키> String - 해당 언어의 이용 목적
  • <예시> 서비스 제공 및 계정 관리
usePeriodDescription Map<String> Required 보유 및 이용 기간 정보
  • 키 ko | ja | en
usePeriodDescription.<키> String - 해당 언어의 보유 및 이용 기간
  • <예시> 회원 탈퇴 시까지
dataTransferredAbroad Boolean Required 개인정보 국외 이전 여부
  • true | false
    • true: 이전
    • false: 이전 안 함
  • <예시> true
dataTransferCountry Map<String> Optional 이전되는 국가 정보
  • 키 ko | ja | en
dataTransferCountry.<키> String - 해당 언어의 이전되는 국가
  • <예시> 대한민국
dataRecipients Map<String> Optional 이전 받는 자 정보
  • 키 ko | ja | en
dataRecipients.<키> String - 해당 언어의 이전 받는 법인 이름
  • <예시> 네이버클라우드 주식회사
dataRecipientsContact Map<String> Optional 이전 받는 자의 연락처 정보
  • 키 ko | ja | en
dataRecipientsContact.<키> String - 해당 언어의 이전 받는 법인의 개인정보 관리자 연락처
  • <예시> privacy@example.com

요청 예시

요청 예시는 다음과 같습니다.

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 아이디
  • <예시> 6f708192-6666-4f01-9234-56789abcdef0
oauth2 Object<OauthResponse> - OAuth Client 자격 증명 정보
protocol String - Application 프로토콜
  • OAUTH2 | OIDC | SAML
    • OAUTH2: OAuth 2.0
    • OIDC: OpenID Connect
    • SAML: SAML 2.0
  • <예시> OAUTH2

OauthResponse

OAuth Client 자격 증명 정보

필드 타입 필수 여부 설명
clientId String - OAuth Client 아이디
  • <예시> 8d9e0f10-8888-4123-9456-789abcdef012
clientSecret String - OAuth Client Secret. accessType 이 public 인 Application 은 Client Secret 을 사용하지 않아 생략됩니다.
  • <예시> d1517905-********-3b3010784920

응답 상태 코드

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"
}