Wenn die Funktion "Token Protection" in der Sicherheitsrichtlinie eines Videos aktiviert ist (dies kann von einem VideoManager-Administrator aktiviert werden - siehe Sicherheitsrichtlinie bearbeiten für weitere Details), muss ein Authentifizierungscode generiert und dann dem HTML-Einbettungscode hinzugefügt werden, damit Videos mit Token-Schutz wiedergegeben werden können.
Bitte beachten Sie, dass nur der HTML-Einbettungscode mit Token-Schutz verwendet werden kann.
In diesem Abschnitt erfahren Sie, wie Sie eine auf HMAC-SHA256 basierende Signatur berechnen können.
HMAC ist eine Technik, die Hash-Funktionen (SHA256) verwendet, um Nachrichten zu authentifizieren und deren Integrität sicherzustellen. Da HMAC in Verbindung mit einem Schlüssel verwendet wird, stammt der Eingabewert der Hash-Funktion nicht nur aus der Nachricht selbst, sondern auch aus einem geheimen Schlüssel. Dieser Schlüssel ist nur Ihnen bekannt, sodass nur Sie den entsprechenden Prüfsummenwert berechnen und die Authentizität und Integrität bestimmen können.
Berechnung der HMAC-Signatur
Benötigte Authentifizierungsinformationen
Information | Beschreibung |
---|---|
{"video-id":"%videoId%","exp-time":"%expiryTime%""} | Die Nachricht bildet die Grundlage für die Berechnung der Signatur und umfasst:
|
Shared secret | Der Schlüssel kann in den Sicherheitseinstellungen in Ihrem VideoManager abgerufen werden (Siehe "Sicherheitsrichtlinie bearbeiten"). |
Der folgende Code zeigt Beispiele, wie man eine HMAC-Signatur berechnet.
Beachten Sie, dass die Beispiel-Funktionen einen Token-Lebensdauerwert in Minuten akzeptieren. Dieser wird dann in Sekunden umgewandelt und zum aktuellen Epoch-Zeitstempel addiert.
Java Code Sample
Ruby Code Sample
PHP Code Sample
<?php $videoId = "212zpS6bjN77eixPUMUEjR"; $sharedSecret = "abc123"; $lifeTime = 5; function generateToken($videoId, $sharedSecret, $lifeTime) { $expiryTime = time() + ($lifeTime*60); $data = sprintf("{\"video-id\":\"%s\", \"exp-time\": %s}" , $videoId, $expiryTime); $hash = hash_hmac ( "sha256", $data , hex2bin($sharedSecret) ); $token = sprintf ("%s~%s", $expiryTime , $hash); return $token; } $token = generateToken($videoId, $sharedSecret, $lifeTime); echo $token; ?>