Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Shaka Player Demo] License requests don't contain necessary HTTP headers, when removing DRM-protected assets from the offline store. #1229

Closed
vladimir-kazakov opened this issue Jan 17, 2018 · 5 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@vladimir-kazakov
Copy link

Some DRM-protected assets have licenseRequestHeaders, which are needed in order to acquire a license. When the playback is started, a license request is being sent to a license server. This request has mentioned license request headers, as expected.

After the asset was stored in the offline storage (by clicking the "store" button in the "offline" section), removing this asset from the offline store (by clicking the "delete" button) sends a license request again, but this time license request headers are not added to the license request, which is wrong. The license request headers must be added to the license request in this case as well. These license request headers are often used for authentication, so without them, license requests fail.

@joeyparrish
Copy link
Member

This should be reproducible using the Axinom multi-DRM asset, but a platform that supports offline DRM content is required.

@TheModMaker TheModMaker added type: bug Something isn't working correctly and removed needs triage labels Jan 29, 2018
@TheModMaker TheModMaker added this to the v2.4.0 milestone Jan 29, 2018
@TheModMaker TheModMaker self-assigned this Jan 29, 2018
@TheModMaker
Copy link
Contributor

@joeyparrish We can't use the Axinom assets since they don't allow persistence. But we can use any of the demo Widevine assets with the header authentication endpoint in the license authentication tutorial.

@vladimir-kazakov I have confirmed that this happens. But it is important to note that this is an app problem. It is the job of the app to authenticate any license requests as needed. So if you are storing things offline, then you need to store whatever authentication info that is needed along with it (e.g. using the opt_appMetadata property).

I will update the demo app to do this. But a custom app will need to configure the Player that is given to the Storage instance with any needed authentication.

@joeyparrish
Copy link
Member

Fix cherry-picked for v2.3.2

joeyparrish pushed a commit that referenced this issue Jan 30, 2018
Closes #1229

Change-Id: I9886561d242748ebc6728d447f752db798d3df29
@barinbritva
Copy link

Still doesn't work for me.

@TheModMaker
Copy link
Contributor

@barinbritva What doesn't work? What steps did you take to get a problem? This only applies to the demo app; if you are using a custom app, it is your responsibility to set up any authentication before calling storage.remove.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 31, 2018
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

5 participants