A geração de assinatura

Fonte: Pt Ikoula wiki
Revisão em 16h50min de 18 de novembro de 2015 por Ikbot (discussão | contribs)
Ir para navegação Ir para pesquisar

ru:Создание подписи ja:署名の生成 ar:توليد التوقيع zh:签名生成 ro:Generația semnături pl:Generowanie podpisu de:Die Signatur-generation nl:De handtekening generatie it:La generazione della firma es:La generación de una firma en:The signature generation fr:Génération de la signature

Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.




Introdução

Durante uma chamada para a API, conforme descrito no WIKI de autenticação, a assinatura é necessária. Ele é gerado cOM base em todos os parâmetros fornecidos durante a chamada .
Por razões técnicas, as configurações de autenticação devem no mOM ento sempre ser transmitida através do método HTTP GET

Exemplo

// Définition des paramètres
$data["login"] = "mail@example.cOM ";
$data["password"] = "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
$assinatura = rawurlencode(base64_encode($hash));
 
// ==> $assinatura contient alors la assinatura finale

Conclusão

Uma vez que a assinatura é gerado, é necessário passá-lo cOM o um parâmetro (Além de todos os outros parâmetros ) a chamada de API.
Seguindo o exemplo anterior, parâmetros para passar, portanto, seria :

  • login = "mail@example.cOM "
  • senha = "DH 4=674j_G "
  • assinatura = $assinatura



Este artigo pareceu-lhe ser útil ?

0



Não tem permissão para colocar comentários.