Проблемы аутентификации токена API в php - PullRequest
0 голосов
/ 29 декабря 2018

Прежде всего, я хочу сказать, что я не являюсь носителем английского (французского), поэтому иногда это может привести к некоторым ошибкам.

Так что моя проблема в том, что я пытаюсь использовать APIвеб-сайта, документация которого может быть найдена в документация

Проблема для запросов, которые требуют аутентификации, все подходит для публичных запросов.

Итак, я попробовал первый запрос, который соответствует веб-сайту «Извлечение остатков на счетах», который является методом get со знаком (с использованием полезной нагрузки hmac256).

Ситуация усложняется, поскольку документацияговоря, что полезная нагрузка должна быть либо recvWindow = 5000 × тамп = 1540203005798 (со странным крестиком перед тампом), даже если я думаю, что это больше проблема с отображением или мы можем найти ее в документации в другой строке: recvWindow = 5000 × тамп= моя отметка времени .Так что это первая проблема, потому что я не знаю, какую из них использовать в полезной нагрузке.(но я попробовал с обоими, и это не сработало так ...).

Затем я написал быстрый php-скрипт для получения моей информации:

<?php
include('pwd.php');
$time = time()*1000;
$sign = hash_hmac('sha256', 'recvWindow=5000&timestamp='.$time, $private);

$opts = array(
'http'=>array(
    'method'=>"GET",
    'header'=> array("Authorization" => $public,
                     "Signature" => $sign
    )
));

$context = stream_context_create($opts);

$fp = file_get_contents('https://trade.coss.io/c/api/v1/account/balances? 
recvWindow=5000&timestamp='.$time, false, $context);
echo $fp;
?>

Первое включение juste включает в себя мой открытый ключ и мой закрытый ключ.

У меня кончилосьИдея найти, в чем проблема с этим сценарием, потому что я пытался с каждой полезной нагрузкой с крестом без креста с моей отметкой времени с фиксированной отметкой времени, но ничего не работало, я просто получаю ошибку 500.

Любая помощь поможетбудь великим.

1 Ответ

0 голосов
/ 29 декабря 2018

Я нашел ответ на мою проблему, он пришел из заголовка с синтаксической ошибкой, вместо того, что я написал правильно:

$opts = array(
'http'=>array(
    'method'=>"GET",
    'header'=> array("Authorization: ".$public,
                     "Signature: ".$sign
    )
));
...