DRM¶
Introduction¶
This integration type is responsible for providing on-demand information to client applications (through Accedo One Core) required to acquire decryption tokens for playback of a specific Content item.
Token acquisition¶
When a client application attempts to playback a Content item, it will request all the information it needs for playback from Accedo One Core delivery API. As part of that request flow, Accedo One performs entitlement and other security checks as well as identifies if the content item is marked as DRM protected (by having playbackInfo.videoStreams.*.drmInfo.*.type
set to any known value).
In case the DRM protection setting is set, Accedo One Core will perform call(s) to the DRM Token provider integration RPC method DRMTokenService.GenerateToken
with end-user device information, the content object type and identifier and the requested DRM type.
Fulfilling this request and responding with information defined for the supported DRM types will allow clients to immediately communicate with the DRM License service and acquire a decryption key specific to the requested piece of content.
Development with IDK¶
To start IDK in DRM mode, simply run idk up drm
.
Hint
drm
is an alias of video-catalog
and therefore you can use idk up video-catalog
instead.
$ idk up drm
idk-content-catalog Done!
one-core-content-catalog Done!
idk-content-catalog-bootstrap Done!
Creating default_elasticsearch_1 ... done
Creating default_kibana_1 ... done
Creating default_content-catalog_1 ... done
Creating default_bootstrap_1 ... done
Creating default_mongodb_1 ... done
Creating default_idk_1 ... done
### IDK environment URLs ###
- IDK admin UI: http://localhost:32769
- Kibana: http://localhost:32772
APIs¶
Following APIs must be fulfilled by the integration:
DRMTokenService
- as defined indrm/token.proto