abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

Access token, 4.Versuch

Hallo,

ich versuche erfolglos, nach 180Tagen einen neuen access token zu erstellen (vor einem 1/2 Jahr es funktioniert !!.)

Ich benutzt macOS mit Safari und DuckDuckGo, Win10 mit Firefox habe ich auch schon probiert, ohne Erfolg.

(POSTMAN funktioniert auch nicht)

Eine clientID wurde erfolgreich erzeugt.

 

Nun habe ich es erneut mit Win10 + FireFox probiert, natürlich erfolgt !!!

 

In FireFox ich ein (<id> ersetze ich durch meine ID):

https://iam.viessmann.com/idp/v3/token?grant_type=authorization_code&client_id=<id>&redirect_uri=http://localhost:4200/&code_verifier=2e21faa1-db2c-4d0b-a10f-575fd372bc8c-575fd372bc8c&code=cZ-2dAgsMrGbOxBCn7IRnjTdfGonGvUNffcdFbCowtY 

 

Nach Eingabe von <Benutzer> und <Passwort> bekomme ich zurück:

http://localhost:4200/?code=cZ-2dAgsMrGbOxBCn7IRnjTdfGonGvUNffcdFbCowtY 

 

Den <code> setze ich ein, auch hier ersetze ich <id> durch meine ID:

https://iam.viessmann.com/idp/v3/token?grant_type=authorization_code&client_id=<id>&redirect_uri=http://localhost:4200/&code_verifier=2e21faa1-db2c-4d0b-a10f-575fd372bc8c-575fd372bc8c&code=cZ-2dAgsMrGbOxBCn7IRnjTdfGonGvUNffcdFbCowtYcZ-2dAgsMrGbOxBCn7IRnjTdfGonGvUNffcdFbCowtY 

 

Als Rückgabe bekomme ich immer nur:

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

 

Vor einem 1/2 Jahr hat es noch funktioniert.

Ich kann meine Applikation auf einem ESP32 mit dem damaligen token betreiben.

Was ist falsch?? (20sec Eingabezeit beachtet)

Ich kann den Fehler nicht finden!!.

Danke!

 

Viele Grüße

Jürgen

5 ANTWORTEN 5

Hallo Jürgen,

 

Zunächst, um Missverständnisse zu vermeiden, ein Access Token hat eine Gültigkeit von 1 Stunde. Wovon du wahrscheinlich sprichst, ist ein Refresh Token, welcher eine Gültigkeit von 180 Tagen besitzt und mit Hilfe welchen man Access Token generieren kann.

 

Hier nun ein paar Dinge, die du ausprobieren könntest, welche helfen könnten:

  • Schaue einmal in die Postman Beispiel Collection für die Viessmann API rein. Versuche bitte darüber, einen neuen Refresh Token zu erstellen.
  • Überprüfe bitte deine Redirect URI. Ist sie identisch (inklusive dem "/" am Ende) zu dem, was beim Erstellen des Clients im API Dashboard eingestellt wurde?
  • Nutze zum Erstellen des Code Verifiers / Code Challenge dieses Tool. Zusätzlich füge beim ersten Authentifizierungsschritt den Query Parameter "&code_challenge_method=S256" hinzu.
  • Beim ersten Authentifizierungsschritt steht fälschlicherweise "code_verifier" in den Query Parametern. Im ersten Schritt muss stattdessen "code_challenge" als Parameter angegeben werden. Schaue dazu auch nochmal in unsere API Dokumentation.

Bitte probiere diese Punkte einmal aus und gib mir eine Rückmeldung, ob es damit klappt. Du kannst in der Zwischenzeit auch im API Dashboard einen Access Token erstellen, um mit der API arbeiten zu können.

 

P.S.

Ich habe gesehen, dass du weitere Beiträge zum gleichen Thema erstellt hast. Sind diese Themen doppelt? Dann könntest du sie für die Übersicht bitte entfernen.

 

Gruß,

 

Michael

Hallo,

Vielen Dank für die Hinweise.

Richtig, ich spreche von dem REFRESH token, den ich in meinem ESP32 im EEPROM Speicher.

Da ich diese Woche etwas Stress haben, werden ich es am Wochenende erst probieren.

 

Bei den 4 posts habe ich unterschiedlichen Dinge ausprobiert.

Alle leider ohne Erfolg.

Danke!

 

Viele Grüße

Jürgen

 

Hallo,

ich leider kein Refresh token erzeugen:

 

Ich habe bei der Postman Beispiel Collection für die Viessmann API (GET Authorization request) eingetragen:

 

client_id  - wie sie im developer portal eingetragen ist
redirect_uri - wie sie im developer portal eingetragen ist (http://localhost:4200/)
scope - IoT%20User
code_challenge - erzeugt mit PKCE code generator (code challenge methode S256)
 
Dies habe ich in Browser SAFARI gestartet.
Rückgabe war:  

http://localhost:4200/?code=wa0v6n4qGNNRJA8pvHeG9eNXs_ExA5bQZeDxaBekpxc

 

Ich habe bei der Postman Beispiel Collection für die Viessmann API (POST Authorization code exchange) eingetragen:

client_id  - wie sie im developer portal eingetragen ist
redirect_uri - wie sie im developer portal eingetragen ist (http://localhost:4200/)
scope - IoT%20User
code_verifier - erzeugt mit PKCE code generator (code challenge methode S256) s.o.!!
code - Rückgabe (s.o.)

 

Dies habe ich in POSTMAN gesendet (SEND)

Rückgabe in POSTMAN:

{

    "error": "invalid_grant",

    "error_description": "Invalid grant"

}

 

Was mache ich falsch ???

 

Viele Grüße

Jürgen Niemann

 

 

 
 
 
 
 
 
 
 
 

 

 

 

 

 

 
 
 
 

 

Hallo,

es funktioniert !!!!!!!

Ich habe vergessen, "offline_access" bei &scope zu definieren.

(100x drauf geschaut, aber nicht gesehen .....)

Vielen Dank und viele Grüße

Jürgen

 

Hallo Nunu62,

 

es freut mich, dass du es geschafft hast 🙂

Wie definiert man "Offline_Access" bei &scope? Ich finde das nicht in der Dokumentation. Dort steht nur was von IoT%20User  ??

 

Vielen Dank für deinen Tipp und beste Grüße Martin