라이선스 발급(Widevine, PlayReady)

Prev Next

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

Widevine, PlayReady 타입의 DRM 라이선스를 발급합니다. 라이선스를 발급하려면 DRM 사이트가 활성화되어야 합니다. API 호출 시 응답은 바이너리(ORIGINAL) JSON 두 가지 형식을 지원하므로 선택하여 구현할 수 있습니다.

참고
  • One Click Multi DRM 서비스를 통해 발행되는 모든 라이선스는 DRM 패키징이 준비되었다는 가정 하에 발급됩니다.
  • 모든 라이선스 요청은 DRM 콘텐츠를 재생할 단말 기기 정보와 플레이어 구현을 통해 요청해야 합니다.
  • Video Player Enhancement 서비스 연동 방법은 VPE 콘텐츠 인증을 참조해 주십시오.
주의

One Click Multi DRM 서비스는 DoveRunner(구 PallyCon)의 토큰 프록시 발급을 지원합니다. 토큰 프록시 발급에 대한 자세한 내용은 토큰 프록시 방식 라이선스 발급 과정을 참조해 주십시오.

요청

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

메서드 URI
POST /api/v1/license

요청 헤더

One Click Multi DRM API에서 공통으로 사용하는 헤더에 대한 정보는 One Click Multi DRM 요청 헤더를 참조해 주십시오.

X-DRM-TOKEN 헤더 생성

One Click Multi DRM 서비스에서 API로 라이선스를 발급하려면 X-DRM-TOKEN 헤더가 필요합니다. 이 헤더는 요청 사용자의 권한을 검증하고, 선택한 사이트의 보안 정책을 기반으로 DRM 라이선스를 발급하는 데 사용됩니다. 헤더 값이 유효하지 않으면 라이선스가 발급되지 않습니다. X-DRM-TOKEN 헤더를 생성하는 방법은 다음과 같습니다.

  1. siteId, contentId, drmType, responseFormat, userId에 대한 JSON 데이터를 입력해 주십시오.
    필드 타입 필수 여부 설명
    siteId String Required 라이선스 발행을 위한 사이트 아이디
    contentId String Required 재생하려는 콘텐츠의 고유 식별자
    • 영문자, 숫자, 특수 문자 '-', '_'를 허용하며, 3~100자 이내로 입력
    • Live/VOD Station 서비스에서 채널에 설정한 Multi DRM Content ID 값 입력
    drmType String Required 라이선스를 요청하는 DRM 타입
    • WIDEVINE | PLAYREADY | FAIRPLAY
    responseFormat String Required 응답 데이터의 형식
    • ORIGINAL (기본값) | JSON
      • ORIGINAL: 요청한 바이너리 데이터로 응답. 일반적인 멀티 DRM 연동 클라이언트(HTML5, Video.js, Shaka)의 지원 형식
      • JSON: 라이선스 데이터와 추가 정보(클라이언트 기기 아이디 등)를 포함한 JSON으로 응답. 토큰 프록시 또는 클라이언트 SDK를 사용하는 경우에만 적용 가능
    userId String Required 콘텐츠를 재생하려는 사용자의 고유 아이디
    • 서비스 사이트에서 관리하는 사용자 아이디 또는 DRM 콘텐츠를 재생할 사용자 계정
    • 입력 예시
      {"siteId":"{사이트 아이디}","contentId":"{콘텐츠 아이디}","drmType":"{DRM 타입}","responseFormat":"{응답 형식}","userId":"{사용자 고유 ID}"}
      
  2. JSON 데이터를 Base64 문자열로 변환해 주십시오.
    • 변환 예시
      eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SW...dXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ==
      
참고

JSON 데이터 입력 시 불필요한 공백이나 개행이 포함되지 않도록 주의해 주십시오.

요청 예시

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

curl --location --request POST 'https://multi-drm.apigw.ntruss.com/api/v1/license' \
--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' \
--header 'x-ncp-region_code: KR' \
--header 'x-drm-token: {X-DRM-TOKEN}'

응답

응답 형식을 설명합니다.

참고

ORIGINAL 타입 요청은 바이너리 데이터 응답이 반환되며, 이 가이드에서는 JSON 타입 응답을 기준으로 안내합니다.

응답 바디

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

필드 타입 필수 여부 설명
license String - 라이선스 JSON 데이터
licenseCreatedTime Integer - 라이선스 발급 일시(밀리초)
  • Unix Timestamp 형식
tokenCreatedTime Integer - 헤더 토큰 생성 일시(밀리초)
  • Unix Timestamp 형식
tokenExpireTime Integer - 헤더 토큰 만료 일시(밀리초)
  • Unix Timestamp 형식

응답 상태 코드

One Click Multi DRM API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 One Click Multi DRM 응답 상태 코드를 참조해 주십시오.

응답 예시

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

{
  "license": "080512BF050AB9020803121044E0A85CB19D0441AC6C66B3D6ABBCC218E39FC48D06228E023082010A0282010100B2FB0D937113004C0F805C6C57DE7B266E2B5E2FE12241FF1421ED55DE2C3F73F62891D7587A8ED153F4009D9522C3609A5DC3C4E43891F8F2D7B448B36E8B77AD96DC795795706D4289F8E61FBDF564AB57E5A5EDDB64FC4EA689...A0F9B8E352FA91B52EC19593F215BCEB2E8401CCC9757C48793C9AB4904B93C7D326BFFBB5E24CDBF297599FB22724C95C9D40D44455586B188A6D10658BEBE5F6CE812FABB8CA58282B5D28176D5DFF3B358692CC4FC6895A06C0B90A192D65F69AE07415DCEF6E54A677D5C769BA6E9CC24E2B968BC3E6E4D4E099E446D9F7E38740DBB708023E6D35D99F1B10",
  "licenseCreatedTime": 1700476438204,
  "tokenCreatedTime": 1700476438107,
  "tokenExpireTime": 1700477038107
}