Adobe® Primetime
Adobe Primetime is a cloud-based solution provided as part of Adobe Experience Cloud services to support the TV Everywhere monetization model. TV Everywhere is a subscription model where access to streaming video content from a television channel requires users to "authenticate" themselves as current subscribers to the channel, via an account provided by their participating pay television provider, in order to access the content.
Clarification
Level
The system will be able to support 2 protection levels: login
& full
When login is selected the application should only execute the part of the flow that checks for authentication. When authenticated we can start playback immediately.
When full is selected the application should also verify that the user is indeed allowed to play out that particular piece of content before starting playback.
Endpoints
For the clientless devices we have 4 endpoints available:
Get primetime Connect Code
This API should be used to retrieve a connect code that can be used by the end-user to authenticate through a second screen application.
Authenticate Primetime User
This API can be used to verify whether the user has authenticated for the given device (using the connect code). It can also be used at startup to check whether the user was already previously authenticated.
It will give you the token expiry time in miliseconds as well.
Authorize Primetime User
This API can be used in case an asset dictates that authorization is required. In that case you will need to send an MRSS resource string or a simple identifier (this depends on the integration).
Logout Primetime User
This API can be used to log out a user based on the device ID/info
Usage
We recommend that these endpoints are only used on devices that do not have a Primetime SDK available to them.
In all requests above, you must provide an X-Device-ID
header in your request. This will identify the uniqueness of your device.
Additionally, you can provide an X-Device-Info
header in your request. All the information must be added to the same JSON object. Afterwards, the resulting object must be Base64
encoded. You can check more information here
Right now, this header is not mandatory, but it will in the future.
Configuration
Before start to use Adobe® Primetime flow on our side, you must configure it through the CMS. There is a specific section for it and will require some information that you must provide in order to use the clientless endpoints.
Environment (required):
You must select between two options: Production
or Staging
Software Statement:
You can retrieve software statement from TVE Dashboard. You can check how to retrieve one, in Adobe® Primetme documentation here
Requestor ID (required):
You must provide a valid requestor ID.
Public and Private Keys:
You must provide a valid public and private keys.
Protection Level (required):
You must select between two options: Login
or Full
If you provide a software statement, you don't need to provide a public and private keys; and in the same way if you provide a public and private keys you don't need to provide a software statement. But you need to provide at least one of them
We highly recommend you to use software statement option.
Assets
Inside of asset metadata you can find details about the primetime requirements:
{
"id": "ID",
"type": "episode",
"label": "Example asset",
...
"externalAuthDetails": {
// In case primetime is used by a service the assets should include this property, if not contact the Backstage team
// be aware that this property is optional and not guaranteed to be available in metadata. If not given assume that
// the asset is not primetime protected
"primetime": {
// Wether the asset is protected by the primetime flow
"isProtected": true,
// Optional override for the protection level
"level": "login"
}
}
}
Flow
An overview of how the Adobe Primetime flow works can be found here. In the applications this is either implemented using the Primetime SDK or using the Backstage API for devices that do not have native SDK's available.