2016-04-27 15 views
3

IWie kann ich hls.js das Cookie in Request-Header senden auf Verschlüsselungsschlüssel anfordernden

versucht
var config = { 
     xhrSetup: function (xhr) { 
      xhr.withCredentials = true; // do send cookies 
     } 
    }; 

aber das funktioniert nicht. Der Cookie wird bei der Playlist-Anfrage und bei der Segment-Anfrage gesendet, egal ob ich die Zugangsdaten im xhrSetup aktiviere oder nicht ... aber nicht bei der Schlüsselanforderung. Um den Inhalt zu sichern, muss ich den Benutzer identifizieren, bevor ich den Schlüssel ausgehändigt habe. Es ist möglich, einen "X-Cookie" zu setzen, wie ich in der Antwort geschrieben habe, aber wie würde ich den Session-Cookie senden?

Antwort

2

Ich setze ein "X-Plätzchen" wie folgt aus:

var config = { 
     debug: true, 
     xhrSetup: function (xhr,url) { 
      xhr.withCredentials = true; // do send cookie 
      xhr.setRequestHeader("X-Cookie", read_cookie('SESSIONID')); 
     } 
    }; 

auf der anderen Seite braucht es

Header set Access-Control-Allow-Headers "X-Cookie" 

die read_cookie Funktion:

function read_cookie(key) { 
    var result; 
    (result = new RegExp('(?:^|;)' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null; 
    console.log('result : ' + result[1]); 
    return result[1] 
} 

gibt es einen Weg aber einen Cookie-Wert senden?

+0

in der Funktion "read_cookie (key)" geben Sie einfach Folgendes ein: Return-Taste + '=' + Ergebnis [1] – Matt