API REST: phase d’authentification

L’API REST utilise l’authentification basique. Ce mécanisme est défini par la spécification HTTP. Il faut passer un nom d’utilisateur et un mot de passe à travers le header HTTP Authorization :

  • le nom d’utilisateur est l’identifiant de la boutique : par exemple 28478261
  • le mot de passe est défini dans le Back Office Marchand : par exemple testpassword_HDBz5YpANEajG4DwYSmkQDNM9lzGiuvrhY9f6G9HEm5do.

Pour retrouvez vos clés, consultez l’article suivant: Prérequis (Clés).

comment former le header Authorization

Pour passer les informations d’autorisation lors de l’appel au web-service REST, il faut ajouter le header suivant:

Authorization: [type] [credentials]

ou:

tipo est le type d’autorisation. Il est toujours défini à Basic.
credentials est une chaine concaténant le nom d’utilisateur et le mot de passe, séparé par deux points (:) et encodée en base64.

En utilisant les informations de démonstration, la chaine à encoder en base64 sera:

28478261:testpassword_HDBz5YpANEajG4DwYSmkQDNM9lzGiuvrhY9f6G9HEm5do

Une fois encodée en base64, la chaine sera:

Njk4NzYzNTc6dGVzdHBhc3N3b3JkX0RFTU9QUklWQVRFS0VZMjNHNDQ3NXpYWlEyVUE1eDdN

Le header à transmettre au serveur sera alors:

Authorization: Basic Njk4NzYzNTc6dGVzdHBhc3N3b3JkX0RFTU9QUklWQVRFS0VZMjNHNDQ3NXpYWlEyVUE1eDdN

En php, le header Authorization sera calculé de la façon suivante:

$header = "Authorization: Basic " . base64_encode($username . ':' . $password);

La solicitud HTTP completa será así:

{
    "value": "my testing value"
}

Algunos enlaces útiles

Pour plus de détails sur l’implémentation, vous pouvez consulter les gists Gitub suivants..