DailyMotion Cloud API, как получить URL со строгой безопасностью реферера?

Я застрял с API DailyMotionCloud
Мне нужно подписать URL с уровнями безопасности на нем

  1. геоблокировка, допускающая только: Франция
  2. Реферер строго разрешает только: 1 домен (Oxygenstream.fr)

Мой код работает, но я не знаю, где поставить уровни безопасности при подписи моего URL
Я должен положить его в компонент [-<pub-sec-data>] Вот: https://www.dmcloud.net/doc/api/api-streaming.html#signing-a-url

Как я могу хранить строгий URL и страну в реферер [-<pub-sec-data>]?

Вот код CloudKey.php: https://github.com/dailymotion/cloudkey-php/blob/master/CloudKey.php

Вот мой код:

<iframe src="<?php
require_once 'CloudKey.php';

$user_id = 'aaaaaaaaaaaaaaaaaaaaaa';
$api_key = 'bbbbbbbbbbbbbbbbbbbbbb';
$media_id = '5466232b947399290102cdb6';
$preset_id = '54662c7c06361d307810e3b5'; // player preset
$preset_name = 'OxygenStream'; // preset name

$seclevel = 32800 ; // I need 2 security levels (country & referer strict)
//          32800 = 1 << 5 . 1 << 15 or CLOUDKEY_SECLEVEL_COUNTRY . CLOUDKEY_SECLEVEL_REFERER_STRICT
$countries = 'cc=fr'; // I'm supposed to put it in the [-<pub-sec-data>]
$referers = 'rf=http://www.oxygenstream.fr/vod/dmcloud';; // I'm supposed to put it in the [-<pub-sec-data>]

// We create the url
$url = sprintf('https://api.dmcloud.net/player/embed/%s/%s/';, $user_id, $media_id);

// We sign the url
$url = CloudKey_Helpers::sign_url($url, $api_key, $seclevel, null, null, null, $countries, $referers, null);

// We write the URL in the Iframe
print($url . '&autoplay=1&preset=54662c7c06361d307810e3b5');?>" width="640" height="360" frameborder="0" allowfullscreen></iframe>

Заранее спасибо за помощь мне в этом.
Надеюсь, вы знаете, как исправить мой код.

Я желаю тебе отличного дня,

Antoine

0

Решение

Поскольку вы используете CloudKey PHP SDK, вам не нужно создавать URL самостоятельно.

При использовании SDK это работает для меня:

$user_id = 'aaaaaaaaaaaaaaaaaaaaaa';
$api_key = 'bbbbbbbbbbbbbbbbbbbbbb';
$media_id = '5466232b947399290102cdb6';
$preset_id = '54662c7c06361d307810e3b5';
$preset_name = 'OxygenStream';

$seclevel = CLOUDKEY_SECLEVEL_COUNTRY | CLOUDKEY_SECLEVEL_REFERER_STRICT ;
$countries = array('fr');
$referers = array('http://oxygenstream.fr/vod/dmcloud');

$cloudkey = new CloudKey($user_id, $api_key);
$url = $cloudkey->media->get_embed_url(array('id' => $media_id, 'seclevel' => $seclevel, 'expires' => time() + 3600, 'countries' => $countries, 'referers' => $referers));
0

Другие решения

Других решений пока нет …