Freebox Server (Pop V8/ Delta V7 / Revolution V6 / Server Mini 4K)

  • Status Nouveau
  • Percent Complete
    0%
  • Task Type Anomalie
  • Category Freebox OS → API
  • Assigned To No-one
  • Operating System Tous
  • Severity Low
  • Priority Very Low
  • Reported Version 4.5.8
  • Due in Version Undecided
  • Due Date Undecided
  • Votes 1
  • Private

FS#36981 - [résolu] 2022, API mafreebox.freebox.fr, session token, erreur dans la Doc

Bonjour à tous,

pour info,
après plusieurs essais infructeux dans tous les sens
j'ai enfin réussi à obtenir un session token


la doc API intégrée à la freebox (https://mafreebox.freebox.fr/doc/index.html#)
est erronée concernant le calcul du "password".

ce password est necessaire dans la requête du session token

—> dans la doc est écrit
—> dans le paragraphe "Obtaining a session_token"/"password string"
—> password = hmac-sha1(app_token, challenge) (←– CECI NE FONCTIONNE PAS)

avec le password ainsi calculé,
j'obtenais en réponse à la requête de session token (POST http)

Status Code: 403 Forbidden
msg: Erreur d'authentification de l'application
error_code: invalid_token

Pour que ça fonctionne,
il faut inverser app_token et challenge dans la formule

(CECI CI-DESSOUS FONCTIONNE)
(variables challenge et app_token préalablement attribuées bien sûr)

#en php
$password = hash_hmac("sha1", $challenge, $app_token); 

#ou en bash
password=$(echo -n $challenge | openssl sha1 -hmac $app_token | cut -d '=' -f2 | sed 's/ //g')

—> et avec le bon password, ça passe mieux
—> session_token (enfin) reçu :-)


en remarques complémentaires (de ce que j'en ai compris),

- l'app_token une fois sollicité/autorisé/validé est pérenne 
- le challenge par contre, à une durée de validité courte (30 secondes), 
  validité courte qui est donc conférée au password. 
  Et donc pour réussir l'obtention du session_token, 
  la requête/obtention du challenge, le calcul du password et la requête du session_token 
  doivent être fait pendant cette période de validité de 30 secondes.
- je suppose que le session_token est relativement pérenne  
  (pas pu tester longtemps) mais on sait maintenant comment en solliciter un autre...

HTH,
cordialement,
hého

hého commented on 31.08.2022 13:33

Bonjour,

pour compléter sur les remarques complémentaires de la fin du message précédent,
après test, la durée de validité du session_token est de 30 minutes.

HTH,
cordialement,
hého

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing