Skip to content

Commit 5b850ae

Browse files
committed
Fix 'no challenge was given'
1 parent d4fd0d9 commit 5b850ae

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

index.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,26 @@ async function authentificate(){
258258
})
259259
if(this.options.verbose) console.info("Got challenge:", challenge?.result?.challenge || challenge?.msg || challenge)
260260
if(!challenge.success) return challenge
261-
if(!challenge?.result?.challenge) return { success: false, msg: `No challenge was given for an unknown reason: ${challenge?.msg || challenge?.message || challenge?.result?.msg || challenge?.result?.message || challenge?.status_code}`, challenge }
261+
262+
// Si on a pas de challenge
263+
if(!challenge?.result?.challenge){
264+
// Si on est déjà connecté
265+
if(challenge?.result?.logged_in){
266+
// On fait une requête qui nécessite d'être connecté
267+
if(this.options.verbose) console.info("Seems we were already logged in, double-checking...")
268+
var freeboxSystem = await this.fetch({
269+
url: "v8/system",
270+
parseJson: true
271+
})
272+
if(this.options.verbose) console.info("Got freebox system (for double-checking the login):", freeboxSystem)
273+
274+
// Si ça a marché, on retourne qu'on est connecté
275+
if(freeboxSystem.success) return { success: true, freebox: this.freebox }
276+
}
277+
278+
// On dit que le challenge a pas marché
279+
return { success: false, msg: `No challenge was given for an unknown reason: ${challenge?.msg || challenge?.message || challenge?.result?.msg || challenge?.result?.message || challenge?.status_code}`, challenge }
280+
}
262281

263282
// Déterminer le mot de passe
264283
var password = createHmac("sha1", this.options.appToken).update(challenge?.result?.challenge).digest("hex")

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "freebox-wrapper",
3-
"version": "1.0.4",
3+
"version": "1.0.5",
44
"description": "Un wrapper pour l'API de Freebox OS, gère la connexion et facilite les requêtes.",
55
"main": "index.js",
66
"keywords": [

0 commit comments

Comments
 (0)