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

  • État Nouveau
  • Type de tâche Anomalie
  • Catégorie Freebox OS → API
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Moyenne
  • Priorité Normale
  • Basée sur la version 3.1.3
  • Due pour la version Non décidé
  • Date d'échéance Non décidé

FS#18137 - invalid_token sur /api/v3/login/session

lorsque je tente d’ouvrir une session sur l’API du Freebox Server, j’obtiens une erreur HTTP 403 avec le contenu suivant :

{”uid”:”d1e29ec02243f6f8e4fc55c4527e15b3”,”success”:false,”msg”:”Erreur d’authentification de l’application”,”result”:{”password_salt”:”“,”challenge”:”“},”error_code”:”invalid_token”} l’application est pourtant bien autorisée (via l’API authorize)
et je récupère bien l’app_token :
{”success”:true,”result”:{”app_token”:”aaaaaaaaaaaaaaaaaaaaaaaa”,”track_id”:1}}
ainsi que le challenge :
{”success”:true,”result”:{”status”:”granted”,”challenge”:”cccccccccccccccccccccc”,”password_salt”:”
***”}}

la requête de session est conforme à la documentation :
POST
{”app_id”:”fr.freebox.aem”,”app_version”:”1.0”,”password”:”XXXXXXXXXXXXXXXXXXX”}

password est calculé par la commande suivante :
echo -n <challenge> | openssl dgst -sha1 -hmac <app_token>

Cette tache ne dépend pas d'autre tache

Ahmed (chebahmed)
vendredi 7 août, 2015 12:21:15

pareil en 3.1.4

Mickaël Perrin (Mickaël P.)
jeudi 20 août, 2015 13:28:59

Après 3h de galère sur le sujet, j'ai réussi à obtenir mes sessions correctement en décochant / enregistrant / cochant / enregistrant l'option "Paramètres de la freebox" > "avancé" > "Gestion des accès" > "Paramètres" > "Applications".

Puis, attendre quelques secondes et lancer l'enregistrement de l'application. Les sessions sont ensuite correctement créées.

//bit.ly/1TZq2wx

Mickaël Perrin (Mickaël P.)
jeudi 20 août, 2015 13:38:57

Bon j'ai parlé trop vite... ça marche plus :(

Mickaël Perrin (Mickaël P.)
jeudi 20 août, 2015 14:27:15

Le résultat est en fait très aléatoire. En relançant plusieurs fois la procédure d'obtention de session parfois ça marche, mais parfois seulement. La plus part du temps, ça échoue.

Greg (Gre)
mercredi 2 mars, 2016 14:59:34

J'arrive un peu tard mais si ca peut aider quelqu'un,
j'ai rencontre le même probleme. Je ne sais pour quelle raison, mais c# me rajoute un \ devant un / dans le challenge et le session_token. (j'imagine que dans l'app_token aussi, mais le cas ne s'est pas presente pour moi)
Ca peut expliquer le cote aleatoire.
un simple challenge.Replace("\\", ""); et le tour est joué

j'ai vu aussi sur 19548 qu'il y en a qui ont un pb avec les +

Ahmed (chebahmed)
mardi 8 novembre, 2016 19:42:34

Pour ma part, c'est résolu sur ce problème : au lieu de lancer mes requêtes une par une manuellement dans un terminal, je les ai embarquées dans un script .sh ;
visiblement il faut que la demande de session soit quasi immédiate après la récupération du challenge ou que les 2 requêtes soient lancées par un meme process (?)
surprenant, mais bon... çà marche :D

Greg (Gre)
mercredi 24 février, 2021 11:10:59

petit retour quelques années plus tard, mais ca pourra peut être servir a d'autre
En utilisant un serializer json plutot que de le construire a la main, je n'ai plus de problèmes avec les + et les /

Chargement...