질문/이슈
DRM 라이선스 요청에 대해 서버에서 7011 에러코드가 응답됩니다. 해당 에러는 어떤 경우에 발생하고 어떻게 해결할 수 있나요?
간략한 설명
7011 에러코드는 유효 기간이 만료되었거나 아직 도래하지 않은 토큰을 사용해 라이선스를 요청하는 경우에 발생합니다. '토큰 유효기간'은 라이선스 토큰이 공유되어 불법적으로 재사용되는 것을 방지하기 위한 기능으로, DRM 라이선스 자체의 '라이선스 유효기간'과는 다른 개념입니다.
- 토큰 유효기간: 해당 토큰의 생성 시점(timestamp)으로부터 라이선스 발급에 사용되기 전까지의 유효기간 (라이선스 발급 가능 기간)
- 라이선스 유효기간: 토큰 또는 콜백 방식으로 발급 받은 DRM 라이선스의 유효 기간 (콘텐츠 재생 가능 기간)
토큰 유효기간은 DoveRunner 콘솔에서 설정 가능하며 기본값은 600초(10분)입니다.
해결 방법
토큰 유효기간이 지난 경우
7011 에러를 해결하려면 토큰의 유효기간이 지나지 않도록 라이선스 요청 시점 직전에 실시간으로 생성된 토큰을 사용해야 합니다. 라이선스 토큰은 기본적으로 고객사의 콘텐츠 서비스 백엔드에서 생성하며, 고객사는 클라이언트의 DRM 연동 시 해당 백엔드 서버로부터 새로운 토큰을 전달받는 기능을 구현하여야 합니다.
이를 위해서는 DRM 콘텐츠를 재생하는 화면이 로딩되는 시점에 콘텐츠 URL 등의 재생 관련 정보와 함께 해당 콘텐츠에 대한 라이선스 토큰을 클라이언트로 전달해 설정하도록 합니다. 클라이언트에서는 전달받은 토큰 값을 별도로 저장해 재활용하는 대신, 필요 시 서비스 백엔드 서버에 새로운 토큰을 요청해야 합니다.
토큰 유효기간이 아직 도래하지 않은 경우
위 경우와 반대로, 토큰에 설정한 timestamp 값보다 현재 시간이 이전인 경우에도 7011 에러가 발생합니다. timestamp 값을 GMT 시간대가 아닌 로컬 시간대로 입력하거나, 토큰을 생성하는 시스템의 시간이 정확하지 않으면 이러한 경우가 발생할 수 있습니다.
우선 토큰 생성에 사용되는 서버 또는 로컬 환경의 시스템 시간이 정확한지 확인한 후, timestamp 값을 GMT 시간대 기준 현재 시간으로 생성해 입력합니다.
유의 사항
DRM 도입을 위한 연동 테스트 과정에서는 토큰 유효기간이 짧으면 불편할 수 있습니다. 이 경우 DoveRunner 콘솔에서 토큰 유효기간을 임의로 길게 설정해 매번 새로운 토큰을 생성하는 번거로움을 줄일 수 있습니다. (멀티DRM > DRM 세팅 > 토큰 유효기간)
하지만 이 경우 토큰 값 유출 시 보안적으로 문제가 될 수 있으므로 상용 서비스에는 반드시 토큰 유효기간을 기본값 이하로 설정하시기 바랍니다.