简体   繁体   中英

API token authentication issues in php

First of all I want to say that I'm not a native english (french) so that's why this could bring some mistakes sometimes.

So my problem is that I'm trying to use the API of a website, which documentation can be found at documentation

The problem is for requests which need authentication, every thing is fine for public requests.

So I tried the first request which is according to the website 'retrieve account balances' which is a signed get method (using a hmac256 payload).

Thing are getting harder since the documentation is saying that the payload has to be either recvWindow=5000×tamp=1540203005798 (with the weird cross before tamp) even if I think this is more a display problem or has we can find in the documentation at another line : recvWindow=5000&timestamp= my timestamp . So this is the first problem because I don't know the which one to use in the payload. (but I've tried with both and it didn't work so ...).

Then I wrote a quick php script to retrieve my informations :

<?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;
?>

The first include juste includes my public key and my private key.

I run out of idea to find what is the problem with this script, because I tried with every payload with the cross without the cross with my timestamp with fixed timestamp but nothing work, I just get 500 error.

Any kind of help would be great.

I found the answer to my problem it came from the header which had a syntax mistake, instead of what I wrote the proper way is :

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM