Nicolas Siver
Nicolas Siver

Reputation: 2885

Custom Receiver and Cookies from Akamai

I'm experiencing problem with HLS from Akamai. I'm using HLS from Akamai with tokens, in order to start stream, Cookies should be set after master m3u8 playlist response.

Response from Akamai:

Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:Content-Type
Cache-Control:max-age=0, no-cache, no-store
Connection:keep-alive
Content-Length:818
Content-Type:application/vnd.apple.mpegurl
Date:Wed, 17 Sep 2014 12:15:54 GMT
Expires:Wed, 17 Sep 2014 12:15:54 GMT
Mime-Version:1.0
Pragma:no-cache
Server:AkamaiGHost
Set-Cookie:_alid_=/cropped/
Set-Cookie:hdntl=/cropped/

I'm rewriting Host.updateManifestRequestInfo in both scenarios there is a dead end.

If you use requestInfo.withCredentials = true;, response will be:

XMLHttpRequest cannot load /*MEDIA_URL*/. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin '/*PLAYERS_HOST*/' is therefore not allowed access. 

With requestInfo.withCredentials = false; will be 403 response.

What is correct way in implementation of Custom Player for HLS from Akamai with tokens?

Upvotes: 1

Views: 1233

Answers (2)

Gabor Kajtar
Gabor Kajtar

Reputation: 11

I know it is a very old post, but in case somebody gets the same problem in the future: If you set withCredentials to true, then the Akamai response has to explicitly authorise your ChromeCast receiver through their CORS header.

Please ask Akamai to add the domain of your receiver to their CORS and the issue will be resolved. Please have a look at this page for more info: https://developers.google.com/cast/docs/player.

Upvotes: 1

Leon Nicholls
Leon Nicholls

Reputation: 4656

You need to write a custom receiver (using MPL) and use host to override updateManifestRequestInfo / updateSegmentRequestInfo to achieve the desired behavior.

Upvotes: 0

Related Questions