Sinch голосовой запрос обратного вызова

Я делаю приложение для телефона, используя Sinch.
Я успешно предоставляю обратный вызов для событий ICE и ACE без запроса входа.
Но теперь, когда я пытаюсь подписать запрос, чтобы сделать его более безопасным, он всегда не соответствует требованию

Я получил свой код отсюда: Проблема с запросом авторизации

Это работает, когда я пытаюсь использовать данные и ключ приложения от https://www.sinch.com/using-rest/#callbackrequestsigning

Но когда я пытаюсь использовать реальные данные, они всегда терпят неудачу.

    $key = "xxxxxx-xxxx-xxxx-xxxx-xxxxxxx";
$secret = 'my-app-secret';

$body = $request->getContent();

$timestamp = $request->input('timestamp');

$path                  = '/sinch/callback/' . $callbackType;
$content_type          = "application/json";
$canonicalized_headers = "x-timestamp:" . $timestamp;

$content_md5 = base64_encode( md5( utf8_encode($body), true ));

$string_to_sign =
"POST\n".
$content_md5."\n".
$content_type."\n".
$canonicalized_headers."\n".
$path;

$signature = base64_encode(hash_hmac("sha256", utf8_encode($string_to_sign), base64_decode($secret), true));

$authorizationHeader = $request->header('Authorization');
$sinchAuthorizationHeader = str_replace('Application ', '', $authorizationHeader);
$sinchAuthorizationHeader = explode(':', $sinchAuthorizationHeader);

if($sinchAuthorizationHeader[0] == $key && $signature == $sinchAuthorizationHeader[1]) {
return true;
}

return false;

Любая помощь будет оценена.

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector