fgafr (Auteur du topic), Posté le: Jeu 29 Déc 2022, 16:29 Sujet du message: [Résolu] Freebox OS: pb d'ouverture de session avec API v10
[Résolu] Freebox OS: pb d'ouverture de session avec API v10233128210388
Bonjour,
Suite à la mise à jour de ma Freebox Révolution (4.7.3), j'ai constaté que l'api était passée en version 10 et qu'il y avait un changement pour l'ouverture de session. L'appel à l'api /login/ retourne maintenant une variable password_salt dont l'usage n'est pas décrit dans la documentation qui présente toujours des exemples v8. L'ouverture de session ne fonctionne plus avec l'ancien code.
Si vous avez des informations sur la manière dont doit être utilisé ce password_salt pour générer le mot de passe attendu pour l'ouverture de session, je suis preneur.
Merci d'avance de votre aide.
Dernière édition par fgafr le Ven 30 Déc 2022, 23:41; édité 1 fois
loggoi, Posté le: Jeu 29 Déc 2022, 16:43 Sujet du message: Re: [Freebox OS] Problème d'ouverture de session avec l'api v
Re: [Freebox OS] Problème d'ouverture de session avec l'api v34583206
triskaidekaphob, Posté le: Ven 30 Déc 2022, 18:17 Sujet du message:
110886102543
La doc est à jour dans Freebox OS :
"Api changes from version 9.1 To 10.0
Deprecated API (v9)
The connexion API for xDSL/4G aggregation is no longer usable. It has been replaced by separate endpoints providing respectively LTE connexion status and aggregation status.
Changed API (v10)
The connexion API has been changed To not mix aggregation and LTE connexion status.
The connexion API exposes Internet Backup connexion status."
fgafr (Auteur du topic), Posté le: Ven 30 Déc 2022, 19:07 Sujet du message:
233128210388
Pas complètement à jour malheureusement, la section sur la récupération d'un token de session mentionne encore un exemple de la v8 de l’API et la réponse ne correspond pas à ce que retourne la Freebox. La doc :
Code:
GET /api/v8/login/
Example request:
GET /api/v8/login/ HTTP/1.1
Host: mafreebox.freebox.fr
Example response:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
triskaidekaphob, Posté le: Ven 30 Déc 2022, 19:29 Sujet du message:
110886102543
Après, si on s'en fie au nom "password_salt" il ne faut plus envoyer le mot de passe en clair, mais "salé" par le sel fourni. Mais bon, j'ignore comment le mot de passe doit être salé (souvent le sel marche pour un hash, mais quel algo? Mystère):
fgafr (Auteur du topic), Posté le: Ven 30 Déc 2022, 22:06 Sujet du message:
233128210388
Sans information sur l'algo dans la documentation j'ai fait un certain nombre d'essais sans succès :
- utilisation du "sel" sur le mot de passe produit par hmac sha1 ou sha256 du challenge avec la clé de l'application
- utilisation du "sel" sur la clé de l'application avant de produire un hmac sha1 ou sha256 du challenge avec la clé salée
- utilisation du "sel" sur le challenge avant de produire un hmac sha1 ou sha256 du challenge salé avec la clé de l'application
fgafr (Auteur du topic), Posté le: Ven 30 Déc 2022, 23:39 Sujet du message:
233128210388
Après quelques investigations complémentaires, il s'avère que l'erreur d'authentification ne provenait pas de l'appel à l'api d'ouverture de session, mais d'un appel réalisé par la suite dans lequel le token de session n'était pas envoyé par l'application.
L'ouverture de session fonctionne toujours correctement sans tenir compte du password_salt.
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum