Создание подписи: различия между версиями

Материал из Ru Ikoula wiki
Jump to navigation Jump to search
Строка 1: Строка 1:
 +
<span data-link_translate_ja_title="署名の生成"  data-link_translate_ja_url="%E7%BD%B2%E5%90%8D%E3%81%AE%E7%94%9F%E6%88%90"></span>[[:ja:署名の生成]][[ja:署名の生成]]
 
<span data-link_translate_ar_title="توليد التوقيع"  data-link_translate_ar_url="%D8%AA%D9%88%D9%84%D9%8A%D8%AF+%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%B9"></span>[[:ar:توليد التوقيع]][[ar:توليد التوقيع]]
 
<span data-link_translate_ar_title="توليد التوقيع"  data-link_translate_ar_url="%D8%AA%D9%88%D9%84%D9%8A%D8%AF+%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%B9"></span>[[:ar:توليد التوقيع]][[ar:توليد التوقيع]]
 
<span data-link_translate_zh_title="签名生成"  data-link_translate_zh_url="%E7%AD%BE%E5%90%8D%E7%94%9F%E6%88%90"></span>[[:zh:签名生成]][[zh:签名生成]]
 
<span data-link_translate_zh_title="签名生成"  data-link_translate_zh_url="%E7%AD%BE%E5%90%8D%E7%94%9F%E6%88%90"></span>[[:zh:签名生成]][[zh:签名生成]]

Версия 12:30, 30 октября 2015

ja:署名の生成 ar:توليد التوقيع zh:签名生成 ro:Generația semnături pl:Generowanie podpisu fr:Génération de la signature

Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.







Введение

Во время вызова API как описано в вики аутентификации, подпись не требуется. Он генерируется все параметры, заданные во время вызова на основании .
По техническим причинам, параметры проверки подлинности должны на данный момент всегда быть переданы через метод HTTP GET

Пример

// Définition des paramètres
$data["login"] = "mail@example.com";
$data["пароль "] = "DH 4=674j_G "; // Mot de passe non chiffré
// D"autres paramètres peuvent êtres ajoutés en fonction de l"appel à l"API
// $data["autre_parametre"] = "valeur";
// $data["autre_parametre_2"] = "valeur_2";
// $data["..."] = "...";
 
// Triage des paramètres dans l'ordre croissant
ksort($data);
 
// Encodage des paramètres
$query = http_build_query($data);
 
// Encodage des signes plus
$query = str_replace("+", "%20", $query);
 
// Transformation de la chaîne de caractères en minuscule
$query = strtolower($query);
 
// Clé publique d'Ikoula (cf. lien ci-dessus)
$public_key="MIIBIjAN...";
 
// Hashage des paramètres
$hash = hash_hmac("SHA1", $query, $public_key, true);
 
// Encodage en base64, puis encodage en URL selon RFC 3986
$signature = rawurlencode(base64_encode($hash));
 
// ==> $signature contient alors la signature finale

Вывод

После того, как создается подпись, это нужно передать его как параметр (Помимо всех остальных параметров ) вызов API.
После предыдущего примера, параметры, передаваемые таким образом были бы :

  • login = "mail@example.com"
  • password = "dh4=674j_G"
  • signature = $signature



Эта статья представляется вам быть полезным ?

0



Вы не можете оставлять комментарии.