@ld0687

Правильная калькуляция signature?

Добрый день!

Разрабатывая свое приложение для работы с api ok, написал такую функцию для вычисления signature -
$arr = ['application_key' => $okpublicKey, 'method' => $method];

if (is_array($query)) { // это массив с переменными запроса ключ=значение
    $arr = array_merge($arr, $query);
}

ksort ($arr);
$sigstr = null;
$keys = array_keys ($arr);

foreach($keys AS $key) {
    $sigstr .= $key . '=' . $arr[$key];
}
		
$sig = md5($sigstr . md5($access_tokenn.$okclientSecret));


работает он вполне неплохо, но что то видимо в нем не так, ибо в логах встречается примерно 2% ошибок вида
Err: {"error_code":104,"error_msg":"PARAM_SIGNATURE : Invalid signature 97d3597208670e2907ef6e6f26f11988, calculated by string application_key=CDSFDEEBAcomment=НОВИНКА \r\nКрутые кардиганы1200₽ . 42,44,46,48\r\nКашемир качество супер \r\n⭐️☀️ method=photosV2.commit********SECRET KEY*******","error_data":null}


Прошу пинка в верном направлении, что может быть не так? Или, может, где то есть готовый алгоритм расчета подписи.. Официальной информации обнаружить не удалось, только метод бубна :)
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы