- Status Nouveau
- Percent Complete
- Task Type Anomalie
- Category Freebox OS → API
- Assigned To No-one
- Operating System Tous
- Severity Medium
- Priority Very Low
- Reported Version 3.1.3
- Due in Version Undecided
-
Due Date
Undecided
-
Votes
1
- Mickaël P. (20/08/2015)
- Private
Opened by chebahmed - 26/07/2015
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>
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
pareil en 3.1.4
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
Bon j'ai parlé trop vite... ça marche plus :(
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.
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 +
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
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 /