Demander les données d’un étudiant X après s’être authentifié – getData.php

Vous avez suivi la leçon précédente, et vous avez maintenant dans votre poche un token, un renew_token

Ce couple est attaché à un seul et unique utilisateur . Chaque utilisateur aura donc un couple token/renew_token différent

Pour l’instant nous n’avons pas ouvert à des niveaux d’API supérieurs qui permettront d’avoir des accès globaux mais il y a un couple de token/renew_token pour chaque utilisateur et evidemment codé differemment en fonction des écoles hébergées.

Vous voulez maintenant récupérer les données de l’étudiant en question à savoir son nom, prénom, email etc…en utilisant le endpoint getData.php

1 – Coder votre token pour transmission

$coding_decode=secured_encrypt($token);

Il s’agit de toujours la même fonction qui vous est fourni.

2 – Envoyez en GET la chaine codée via cURL Attention de bien utiliser l’urlencode dans le GET.

$ch = curl_init($_DOMAIN.’/api/getData.php?authtoken=’.urlencode($coding_decode)); // Initialise cURL <– here get all public formation
$authorization = “Authorization: Bearer “.$TOKENAPI; // vous utilisez toujours votre TOKENAPI perso.
curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Content-Type: application/json’ , $authorization )); // Inject the token into the header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // This will follow any redirects
$result = curl_exec($ch); // Execute the cURL statement
curl_close($ch); // Close the cURL connection
echo $result;

3 – Le systéme vous donne en retour une chaine codée

{“id”:”w082q9BrFxNt3xeyE9kpew==”,”prenom”:”iXRdLEpM1+Dz6s9uJNFW4Q==”,”nom”:”mPYBpg+qg999l4a6ZZnREw==”,”email”:”iVe5JBahp3H02Ubv+8QT9rs75xU3wg2vBIHtD8hK92A=”,”adresse”:”R12S9vVsq8TA3K9p7W1ruw585ETS+7bDtpReTqzstzo=”,”zipcode”:”inPEnuTJ9Khy+bfb9e7xAA==”,”city”:”j3br6nHsATNPBQqQ8Bx4Jg==”,”country”:”FHLfiP7F7iNkg3zOPfoBZQ==”,”region”:”9MU1LTxMm+pezNLNMU4MPg==”,”language”:”OuOSG8oqDh+EkQ17qA2ZaQ==”,”entity”:”WKxM1rengJXRtAtiEi+HsQ==”,”membre”:”78XsaNUMlxjCw37sHbCUBg==”}

Toutes les données utiles sont dans le JSON retournée mais le JSON est cryptée.

4 – Decryptez chaque champs retourné

Vous pouvez utiliser :

openssl_decrypt($string,”AES-128-ECB” ,$salt);

Le $string est la valeur de chaque champs.

Attention de bien utilisez un json_decode avant puis parsez les données une par une.

Le $salt est votre TOKENAPI

Les données ne sont décryptables QUE par le script qui appelle. Un autre développeur avec un autre TOKENAPI aura une chaine différente pour la même école.