updateApplication

Prev Next

이 가이드는 API 명세를 기반으로 AI가 자동 생성했습니다.

Classic/VPC 환경에서 이용 가능합니다.

Ncloud 표준 표현을 적용한 API입니다.

Application 정보를 수정합니다. 요청 본문에 포함하지 않은 필드는 값이 삭제되므로, 유지할 값도 함께 전달해야 합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PUT /applications/{applicationId}

요청 헤더

Ncloud Single Sign-On API에서 공통으로 사용하는 헤더에 대한 정보는 Ncloud Single Sign-On 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
applicationId String (uuid) Required Application 아이디
  • <예시> 6f708192-6666-4f01-9234-56789abcdef0

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
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 Optional 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)> Optional 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> Optional Application 접근 가능 정보 범위
  • 항목 openid | offline_access | email | address | phone | profile | groups
    • openid: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • profile: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • email: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 이메일
    • groups: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 그룹
    • phone: 전화번호
    • address: 주소
    • offline_access: Refresh Token 발급
accessTokenValiditySeconds Integer (int64) | null Optional Access Token 유효 기간(초)
  • 범위: 1 ~ 43,200
  • <예시> 43200
refreshTokenValiditySeconds Integer (int64) | null Optional Refresh Token 유효 기간(초)
  • 범위: 1 ~ 2,592,000
  • <예시> 2592000
consentPage Object<ConsentPageV2> Required 개인 정보 제공 동의 페이지 정보
protocol String Required 프로토콜
  • OAUTH2
    • OAUTH2: OAuth 2.0
  • <예시> OAUTH2

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 PUT 'https://sso.apigw.ntruss.com/api/v2/applications/6f708192-6666-4f01-9234-56789abcdef0' \
--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",
  "memberLoginPolicy": "ALLOW",
  "clientAuthMethod": "client_secret_basic",
  "accessType": "confidential",
  "grantTypes": [
    "authorization_code"
  ],
  "consentPage": {
    "applicationName": {},
    "useLanguages": [
      "ko"
    ],
    "defaultLanguage": "ko",
    "usePurposeDescription": {},
    "usePeriodDescription": {},
    "dataTransferredAbroad": true
  },
  "protocol": "OAUTH2"
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
applicationId String (uuid) - Application 아이디
  • <예시> 6f708192-6666-4f01-9234-56789abcdef0
name String - Application 이름
  • <예시> example-name
description String - Application 설명
  • <예시> example description
applicationUrl String (uri) - Application 바로 가기 URL
  • <예시> https://sso.example.com
applicationType String - Application 유형
  • APP | WEB
    • WEB: 웹
    • APP: 앱
  • <예시> APP
memberLoginPolicy String - 메인 계정 로그인 허용 여부. Tenant 설정이 UNUSED인 경우 Application별 설정 값이 반환됩니다
  • ALLOW | DENY | UNUSED
    • ALLOW: 허용
    • DENY: 거부
    • UNUSED: 미설정
  • <예시> ALLOW
createdDateTime String (date-time) - Application 생성 일시
  • <예시> 2025-01-02T09:00:00Z
updatedDateTime String (date-time) - Application 수정 일시
  • <예시> 2025-01-02T09:00:00Z
clientId String - Application Client 아이디
  • <예시> 8d9e0f10-8888-4123-9456-789abcdef012
clientAuthMethod String - Application 인증 방식
  • 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)> - Application 리디렉션 URI 목록
  • 항목 <예시> https://example.com/callback
postLogoutRedirectUris List<String (uri)> - OIDC RP-Initiated Logout post_logout_redirect_uri 화이트리스트
  • 항목 <예시> https://example.com/logout
accessType String - Application 접근 방식
  • public | confidential
    • confidential: Client 아이디 및 Secret으로 인증 후 접근
    • public: Client 아이디로 인증 후 접근
  • <예시> public
grantTypes List<String> - 권한 부여 방식
  • 항목 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> - Application 접근 가능 정보 범위
  • 항목 openid | offline_access | email | address | phone | profile | groups
    • openid: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • profile: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름
    • email: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 이메일
    • groups: 계정 구분, 로그인 아이디, 회원 고유 식별자, 사용자 이름, 그룹
    • phone: 전화번호
    • address: 주소
    • offline_access: Refresh Token 발급
accessTokenValiditySeconds Integer (int64) - Access Token 유효 기간(초)
  • <예시> 43200
refreshTokenValiditySeconds Integer (int64) - Refresh Token 유효 기간(초)
  • <예시> 2592000
consentPage Object<ConsentPageV2> - 개인 정보 제공 동의 페이지 정보
protocol String - Application 프로토콜
  • OAUTH2 | OIDC | SAML
    • OAUTH2: OAuth 2.0
    • OIDC: OpenID Connect
    • SAML: SAML 2.0
  • <예시> OAUTH2

ConsentPageV2

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

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

응답 상태 코드

Ncloud Single Sign-On API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud Single Sign-On 응답 상태 코드를 참조해 주십시오.

이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
200 - - 요청 처리 성공
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가 없음, 존재하지 않는 자원 아이디 입력
404 ApplicationNotFound The specified application could not be found. 존재하지 않는 Application 아이디 입력
409 AlreadyExists The resource with the name requested already exists. 이미 사용 중인 이름·Tenant 별칭·로그인 아이디 입력, 이미 생성된 External IdP 또는 이미 등록된 IdP 인증서

응답 예시

응답 예시는 다음과 같습니다.

{
  "applicationId": "6f708192-6666-4f01-9234-56789abcdef0",
  "name": "example-name",
  "description": "example description",
  "applicationUrl": "https://sso.example.com",
  "applicationType": "APP",
  "memberLoginPolicy": "ALLOW",
  "createdDateTime": "2025-01-02T09:00:00Z",
  "updatedDateTime": "2025-01-02T09:00:00Z",
  "clientId": "8d9e0f10-8888-4123-9456-789abcdef012",
  "clientAuthMethod": "client_secret_basic",
  "redirectUris": [
    "https://example.com/callback"
  ],
  "postLogoutRedirectUris": [
    "https://example.com/logout"
  ],
  "accessType": "public",
  "grantTypes": [
    "authorization_code"
  ],
  "scopes": [
    "openid"
  ],
  "accessTokenValiditySeconds": 43200,
  "refreshTokenValiditySeconds": 2592000,
  "consentPage": {
    "applicationName": {
      "ko": "Ncloud Single Sign-On"
    },
    "useLanguages": [
      "ko"
    ],
    "defaultLanguage": "ko",
    "usePurposeDescription": {
      "ko": "서비스 제공 및 계정 관리"
    },
    "usePeriodDescription": {
      "ko": "회원 탈퇴 시까지"
    },
    "dataTransferredAbroad": true,
    "dataTransferCountry": {
      "ko": "대한민국"
    },
    "dataRecipients": {
      "ko": "네이버클라우드 주식회사"
    },
    "dataRecipientsContact": {
      "ko": "privacy@example.com"
    }
  },
  "protocol": "OAUTH2"
}