DRMManager 클래스 사용

Flash Player 10.1 이상, Adobe AIR 1.5 이상

응용 프로그램에서 DRMManager 클래스를 사용하여 바우처 및 미디어 권한 서버 세션을 관리할 수 있습니다.

바우처 관리(AIR에만 해당)

사용자가 보호된 내용을 재생할 때마다 런타임에서 내용을 보는 데 필요한 라이센스를 가져오고 캐시합니다. 응용 프로그램에서 파일을 로컬로 저장하고 라이센스가 오프라인 재생을 허용하는 경우 사용자가 AIR 응용 프로그램의 내용을 볼 수 있습니다. 미디어 권한 서버에 대한 연결을 사용할 수 없는 경우에도 이러한 로컬 오프라인 재생이 수행됩니다. DRMManager 및 NetStream preloadEmbeddedMetadata() 메서드를 사용하면 바우처를 미리 캐시할 수 있습니다. 응용 프로그램에서 내용을 보는 데 필요한 라이센스를 가져올 필요가 없습니다. 예를 들어 응용 프로그램에서 미디어 파일을 다운로드한 다음 사용자가 여전히 온라인 상태에 있을 때 바우처를 가져올 수 있습니다.

바우처를 미리 로드하려면 NetStream preloadEmbeddedMetadata() 메서드를 사용하여 DRMContentData 객체를 가져옵니다. DRMContentData 객체에는 라이센스를 제공하며 사용자 인증이 필요한지 여부를 설명할 수 있는 미디어 권한 서버의 URL 및 도메인이 포함되어 있습니다. 이 정보를 사용하면 DRMManager loadVoucher() 메서드를 호출하여 바우처를 가져오고 캐시할 수 있습니다 바우처를 미리 로드하는 작업 과정은 오프라인 재생을 위해 바우처 미리 로드 에서 자세히 설명합니다.

세션 관리

DRMManager를 사용하여 사용자를 미디어 권한 서버에 대해 인증하고 영구 세션을 관리할 수도 있습니다.

미디어 권한 서버를 사용하여 세션을 설정하려면 DRMManager authenticate() 메서드를 호출합니다. 인증이 성공적으로 완료되면 DRMManager는 DRMAuthenticationCompleteEvent 객체를 전달합니다. 이 객체에는 세션 토큰이 포함되어 있습니다. 사용자가 자신의 계정 자격 증명을 제공하지 않아도 되도록 이 토큰을 저장하여 이후 세션을 설정할 수 있습니다. 토큰을 setAuthenticationToken() 메서드에 전달하여 인증된 새 세션을 설정합니다. 토큰을 생성한 서버의 설정에 따라 토큰 만료 및 기타 특성이 결정됩니다. 이후 AIR 업데이트에서 토큰 데이터 구조가 변경될 수 있으므로 AIR 응용 프로그램 코드는 토큰 데이터 구조를 해석하지 않아야 합니다.

인증 토큰은 다른 컴퓨터로 전송할 수 있습니다. 토큰을 보호하려면 토큰을 AIR 암호화된 로컬 저장소에 저장합니다. 자세한 내용은 암호화된 로컬 저장소 를 참조하십시오.

DRMStatus 이벤트

DRMManager는 loadVoucher() 메서드에 대한 호출이 성공적으로 완료되면 DRMStatusEvent 객체를 전달합니다.

바우처를 가져오면 이벤트 객체의 detail 속성(AIR에만 해당)에 "DRM.voucherObtained" 값이 포함되고 voucher 속성에는 DRMVoucher 객체가 포함됩니다.

바우처를 가져오지 못해도 detail 속성(AIR에만 해당)에 여전히 "DRM.voucherObtained" 값이 포함되지만 voucher 속성은 null 이 됩니다. 예를 들어 localOnly 의 LoadVoucherSetting을 사용하지만 로컬로 캐시된 바우처가 없는 경우 바우처를 가져오지 못할 수 있습니다.

인증 또는 통신 오류 등으로 인해 loadVoucher() 호출이 성공적으로 완료되지 않으면 DRMManager가 DRMErrorEvent 또는 DRMAuthenticationErrorEvent 객체를 대신 전달합니다.

DRMAuthenticationComplete 이벤트

DRMManager는 authenticate() 메서드 호출을 통해 사용자가 성공적으로 인증되면 DRMAuthenticationCompleteEvent 객체를 전달합니다.

DRMAuthenticationCompleteEvent 객체에는 전체 응용 프로그램 세션에서 사용자 인증을 유지하는 데 사용할 수 있는 재사용 가능 토큰이 포함되어 있습니다. 이 토큰을 DRMManager setAuthenticationToken() 메서드에 전달하면 세션이 다시 설정됩니다. 토큰 작성자가 만료 등의 토큰 특성을 설정합니다. Adobe에서는 토큰 특성을 확인하기 위한 API를 제공하지 않습니다.

DRMAuthenticationError 이벤트

DRMManager는 authenticate() 또는 setAuthenticationToken() 메서드에 대한 호출을 통해 사용자를 성공적으로 인증할 수 없으면 DRMAuthenticationErrorEvent 객체를 전달합니다.