Différences entre versions de « Génération de la signature »

De Ikoula Wiki
Jump to navigation Jump to search
 
(13 versions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<span data-link_translate_fr_title="Génération de la signature"  data-link_translate_fr_url="Génération de la signature"></span>[[:fr:Génération de la signature]][[fr:Génération de la signature]]
 +
<span data-link_translate_he_title="הדור חתימה"  data-link_translate_he_url="%D7%94%D7%93%D7%95%D7%A8+%D7%97%D7%AA%D7%99%D7%9E%D7%94"></span>[[:he:הדור חתימה]][[he:הדור חתימה]]
 +
<span data-link_translate_ro_title="Generația semnături"  data-link_translate_ro_url="Genera%C8%9Bia+semn%C4%83turi"></span>[[:ro:Generația semnături]][[ro:Generația semnături]]
 +
<span data-link_translate_ru_title="Создание подписи"  data-link_translate_ru_url="%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B8"></span>[[:ru:Создание подписи]][[ru:Создание подписи]]
 +
<span data-link_translate_pl_title="Generowanie podpisu"  data-link_translate_pl_url="Generowanie+podpisu"></span>[[:pl:Generowanie podpisu]][[pl:Generowanie podpisu]]
 +
<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_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_de_title="Die Signatur-generation"  data-link_translate_de_url="Die+Signatur-generation"></span>[[:de:Die Signatur-generation]][[de:Die Signatur-generation]]
 
<span data-link_translate_nl_title="De handtekening generatie"  data-link_translate_nl_url="De+handtekening+generatie"></span>[[:nl:De handtekening generatie]][[nl:De handtekening generatie]]
 
<span data-link_translate_nl_title="De handtekening generatie"  data-link_translate_nl_url="De+handtekening+generatie"></span>[[:nl:De handtekening generatie]][[nl:De handtekening generatie]]
 
<span data-link_translate_it_title="La generazione della firma"  data-link_translate_it_url="La+generazione+della+firma"></span>[[:it:La generazione della firma]][[it:La generazione della firma]]
 
<span data-link_translate_it_title="La generazione della firma"  data-link_translate_it_url="La+generazione+della+firma"></span>[[:it:La generazione della firma]][[it:La generazione della firma]]
Ligne 6 : Ligne 15 :
 
<!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin -->
 
<!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin -->
  
 
+
#REDIRECT [[Comment_utiliser_l'API_d’Ikoula]]
 
 
==Introduction== <!--T:1-->
 
Lors d'un appel à l'API, comme indiqué dans le WIKI de l'authentification, une signature est obligatoire. Elle est générée '''en fonction de l'ensemble des paramètres fournis lors de l'appel'''.<br />
 
Pour des raisons techniques, les paramètres d'authentification doivent ''pour l'instant'' toujours être transmises via la méthode HTTP GET
 
 
 
==Exemple== <!--T:2-->
 
 
 
<!--T:3-->
 
<syntaxhighlight lang="php">
 
// Définition des paramètres
 
$data["login"] = "mail@example.com";
 
$data["password"] = "dh4=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
 
</syntaxhighlight>
 
 
 
==Conclusion== <!--T:4-->
 
Une fois la signature générée, il faut la passer en paramètre (en plus de tous les autres paramètres) à l'appel API.<br />
 
En suivant l'exemple précédent, les paramètres à passer auraient donc été :<br />
 
* login = "mail@example.com"
 
* password = "dh4=674j_G"
 
* signature = $signature
 
 
 
<!--T:5-->
 
<!-- Fin de l'article -->
 
<br /><br />
 
Cet article vous a semblé utile ? <vote />
 
<!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Catégorie:Contribuer]] -->
 
[[Catégorie:API]]
 
 
 
<!--T:6-->
 
<!-- Gestion SEO. Indiquez les informations manquantes -->
 
<br />
 
<comments />
 

Version actuelle datée du 22 février 2021 à 17:52