abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 
Beantwortet! Gehe zur Lösung.

API Änderungen oder Probleme?

Seit gestern Abend 19:00 Uhr kann mein Smart Home System keine Daten mehr über die API abrufen.

Wenn ich manuell versuche einen Request zu machen, bekomme ich beim anfordern des Tokens einen Fehler.

 

In der App habe ich heute gesehen, dass neue Funktionen verfügbar sind, wurde da gestern irgendwas geändert? Die Aufrufe, stehen so noch in der Doku (die ich übrigens unter MacOS mit Safari nicht aufrufen kann)

 

curl -X POST "https://iam.viessmann.com/idp/v2/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=authorization_code&client_id=<meinClient>&redirect_uri=<meineSmartHomeIP>&code_verifier=<meinVerifier>&code=<meinCode>"

 

{"error":"invalid-token-request"}

1 AKZEPTIERTE LÖSUNG

Akzeptierte Lösungen

Hallo @tmsh ,

 

kurze Frage, ist es möglich, dass dein Refresh Token abgelaufen ist? Der Refresh Token hat eine Lebensdauer (TTL) von 180 Tagen. Anschließend muss ein neuer Refresh Token generiert werden.

 

Gruß,

 

Michael

Lösung in ursprünglichem Beitrag anzeigen

6 ANTWORTEN 6

Hallo @tmsh ,

 

kurze Frage, ist es möglich, dass dein Refresh Token abgelaufen ist? Der Refresh Token hat eine Lebensdauer (TTL) von 180 Tagen. Anschließend muss ein neuer Refresh Token generiert werden.

 

Gruß,

 

Michael

das kann gut sein, mein Problem ist aber, dass ich auch keinen neuen Token bekomme.

 

Ich habe laut Anleitung mit https://tonyxu-io.github.io/pkce-generator/ folgende Challenge und Verifier erzeugt:

 

Verifier:
qc3FD7glWLAmVh-NYvtW9o02UNRsoSDw_sQCcp9APV8asdf
Challenge
sHjOuu8IKYcHt-odCnbKUIA74MMV4xMeTCb3ADqbOBM

 

Dann mache ich folgenden Request: 

https://iam.viessmann.com/idp/v2/authorize?client_id=<meineID>&redirect_uri=http://192.168.13.64:808...

dabei bekomme ich dann wie erwartet einen code, den ich dann sehr schnell, weil TTL 20 Sekunden per CURL wie folgt nutze:

 

curl -X POST "https://iam.viessmann.com/idp/v2/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=authorization_code&client_id=<meineID>&redirect_uri=http://192.168.13.64:8080/&code_verifier=qc3FD7glWLAmVh-NYvtW9o02UNRsoSDw_sQCcp9APV8asdf&code=<der_zuvor_erhaltene_Code"

 

Und dann bekomme ich immer {"error":"invalid-token-request"}

Das hat in der Vergangenheit eigentlich immer funktioniert 😞

So ich habs! Folgender Satz der Doku war mir bisher durch gegangen: This verifier is either used in plain text [code_challenge = code_verifier] or hashed with SHA256 and encoded as base64 (code_challenge = BASE64(SHA256(code_verifier))). In the latter case the code_challenge_method must be set to "S256".

 

Ich hatte also mit dem tonyxu Tool brav Challenge und Verifier generiert, dann aber wie in den Doku Beispielen NICHT die code_challenge_method=S256 gesetzt.

Es funktioniert nun, wenn ich entweder für code_challenge und code_verfier die selben werde nutze und keine code_challenge_method setze (da default plain) oder ich die Challenge explizit auf S256 setze und entsprechend challenge und verifier nutze.

Hallo @tmsh , vielen Dank für die Rückmeldung!

 

Um das missverständnis in Zukunft zu vermeiden, das bei dir aufgetreten ist, haben wir die Dokumentation für die Authentifizierung angepasst. Auf den default "plain" wird nicht mehr hingewiesen und nur noch code_challenge_method = S256 beschrieben, was auch aus Sicherheitsgründen eine bessere Wahl ist.

 

Schau dir  die Dokumentation noch einmal an und teile mir gern mit, ob es aus deiner Sicht so verständlicher ist: https://documentation.viessmann.com/static/authentication

 

Gruß,

 

Michael

Hallo @MichaelHanna , ja so ist es meiner Meinung verständlicher. 👍

 

Bitte geb auch nochmal den Fehler mit der Doku unter MacOs (12.4) und Safari (15.5) weiter. Da komme ich nicht über den Ladescreen, das restliche Protal, Community, Dashboard etc funktionieren. Aber für die Doku muss ich den Firefox nutzen.

 

Bildschirmfoto 2022-07-22 um 10.35.18.png

Danke für das schnelle Feedback und den Hinweis zum Bug! Ich konnte es bei mir mit dem gleichen Setup nachstellen und gebe es an die Entwicklung weiter.

Top-Lösungsautoren