- État Nouveau
- Pourcentage achevé
- Type Anomalie
- Catégorie Freebox OS → API
- Assignée à Personne
- Système d'exploitation Tous
- Sévérité Moyenne
- Priorité Très Basse
- Basée sur la version 3.1.3
- Due pour la version Non décidée
-
Échéance
Non décidée
-
Votes
1
- Mickaël P. (20/08/2015)
- Privée
Ouverte par 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>
Chargement...
Activer les raccourcis clavier
- Alt + ⇧ Shift + l Se connecter/Se déconnecter
- Alt + ⇧ Shift + a Ouvrir une tâche
- Alt + ⇧ Shift + m Mes recherches
- Alt + ⇧ Shift + t Rechercher par ID de tâche
Liste des tâches
- o Ouvrir la tâche sélectionnée
- j Déplacer le curseur vers le bas
- k Déplacer le curseur vers le haut
Détails de la tâche
- n Tâche suivante
- p Tâche précédente
- Alt + ⇧ Shift + e ↵ Enter Modifier cette tâche
- Alt + ⇧ Shift + w Surveiller
- Alt + ⇧ Shift + y Fermer cette tâche
Édition de la tâche
- Alt + ⇧ Shift + s Enregistrer la tâche
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 /