Generația semnături

De la Ro Ikoula wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

he:הדור חתימה ja:署名の生成 ar:توليد التوقيع zh:签名生成 de:Die Signatur-generation nl:De handtekening generatie it:La generazione della firma pt:A geração de assinatura es:La generación de una firma en:The signature generation ru:Создание подписи pl:Generowanie podpisu fr:Génération de la signature

Acest articol este rezultatul unei traduceri automate efectuate de către software-ul. Puteți vizualiza sursa articol aici.


Introducerea

În timpul unui apel la API, aşa cum este descris în wiki-ul de autentificare, o semnătură este necesar. Este generat pe baza tuturor parametrilor furnizate în timpul convorbirii .
Din motive tehnice, setările de autentificare trebuie pentru moment întotdeauna a fi transmise prin metoda HTTP obţine

Exemplu

// Définition des paramètres
$data["login"] = "mail@example.com";
$data["parola "] = "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

Concluzia

Odată ce semnătura este generat, este necesar să treacă ca parametru (În plus faţă de toţi ceilalţi parametri ) apel API.
În urma exemplul anterior, ar fi fost, prin urmare, pentru a trece parametrii :

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



Acest articol părea să fie util ?

0



Nu sunteți autorizat să publicați comentarii.