FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: globus243 am 20 März 2017, 18:43:01

Titel: URL Kommandos ergeben HTTP 400 ohne csrf-Token
Beitrag von: globus243 am 20 März 2017, 18:43:01
Guten Abend,

ich hatte mir für meine Pebble eine kleine App gebaut, die es mir erlaubt einige Geräte in FHEM zu steuern.
Geschaltet wurden die Geräte über einen URL Aufruf z.b. https://user:password@FHEMHOST/fhem?cmd=set%20Home_Status%20Away
Das klappt nun nicht mehr.

Mit den Chrome-Entwicklertools konnte ich herausfinden, das dort immer HTTP Fehler 400 zurück kommt und das der Unterschied zwischen meinen Requests und
denen von FHEM der csrf-Token ist.
Nach dem ich den dann in meine Requests mit rein genommen hatte, klappte es wieder.

nun meine Frage: Ist das Neu? Muss ich jetzt bei jedem FHEM Update die Tokens in "allen" meinen Apps ändern?
Titel: Antw:URL Kommandos ergeben HTTP 400 ohne csrf-Token
Beitrag von: farion am 20 März 2017, 20:39:20
Hi,

das ist seit 5.8 "neu" bzw. eher "scharf". Wie du damit umgehst steht hier: https://wiki.fhem.de/wiki/CsrfToken-HowTo

Soweit ich deinen Fall überblicke steuerst du per URL-Aufruf von Extern. Damit wäre eine Lösung das CSRF-Token fix zu setzten. Ansonsten wird bei jedem FHEM-Neustart ein neues Token generiert.
Das geht wie im HowTo von oben beschrieben so:

attr WEB.* csrfToken <DeinFestesToken>


Eine andere Lösung wäre das Feature ganz abzuschalten (würde ich nicht empfehlen). Oder eben das Token automatisch zu aktualisieren. Aber da ist die Frage ob das mit deinem externen Tool funktioniert.

Gruss Frieder
Titel: Antw:URL Kommandos ergeben HTTP 400 ohne csrf-Token
Beitrag von: betateilchen am 20 März 2017, 20:45:04
Zitat von: globus243 am 20 März 2017, 18:43:01
nun meine Frage: Ist das Neu? Muss ich jetzt bei jedem FHEM Update die Tokens in "allen" meinen Apps ändern?

Den knallroten Hinweis oben rechts auf der Seite hast Du gesehen? Und gelesen?