Что Туя ожидает от «сообщения» в вызовах API?

Я пытаюсь взаимодействовать с Tuya API из веб-приложения PHP.

Я должен аутентифицировать пользователя с помощью идентификатора пользователя и подписать, чтобы получить ТОКЕН.

Основная проблема - я могу понять, что нужно написать в поле «сообщение» при генерации ЗНАКА.

Ниже приведен код, который я использую для запроса к API управления авторством:

      $secret = 'secret';
$clientId = 'client';

$url = "https://openapi.tuyaeu.com/v1.0/token?grant_type=1";

                        $s = strtoupper(hash_hmac("sha256", "Message",$secret));

                        $curl = curl_init($url);
                        curl_setopt($curl, CURLOPT_URL, $url);
                        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

                        $headers = array(
                            "sign_method: HMAC-SHA256",
                            "client_id: *MY ID*",
                            "secret: *MY Secret code*",
                            "sign:".$s,
                            "t: " . time()*1000,
                            "Content-Type: application/json",
                        );
                        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
                        //for debug only!
                        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
                        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

                        $resp = curl_exec($curl);
                        curl_close($curl);
                        var_dump($resp);

Итак, теперь мой запрос генерирует ответ «неправильный знак». Наверное, потому что сначала я не знаю, что поместить в "сообщение" в коде генерации знаков.

1 ответ

Решение

Solved:

  1. To recieve token, "message" should be MY ID + time()*1000
  2. To recieve data, "message" => my id + token (from 1)) + time()*1000
Другие вопросы по тегам