-
Notifications
You must be signed in to change notification settings - Fork 204
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
soc_smarteq: add 2FA, minor improvements and cleanup
- Loading branch information
rleidner
committed
Dec 28, 2023
1 parent
25a4ab0
commit ef6f6a8
Showing
8 changed files
with
612 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,25 @@ | ||
Das smart SOC Modul ist vom smartEQ Modul des iobroker inspiriert. | ||
Der js code wurde in python implementiert und etwas vereinfacht. | ||
|
||
Es wird in OAUTh ein Token Refresh durchgeführt. | ||
Da alle Token nur 2 Stunden gültig sind und der Refresh mit gültigem refresh_token erfolgen muss, | ||
sollten die Intervalle in der Modulkonfiguration weniger als 2 Stunden betragen. | ||
Das Modul unterstützt die Authentication mit Passwort oder 2-Factor-Authentication (2FA). | ||
Die Passwort-Authentication wird benutzt wenn ein Passwort konfiguriert ist. | ||
Wenn das Passwort leer ist, wird die 2FA benutzt, die in 2 Schritten durchgeführt wird. | ||
Zu Beginn sind Passwort und PIN leer. | ||
Das SOC-Modul fordert eine PIN (6-stellige Zahl) an. | ||
Vom Authentication Server wird die PIN per email gesendet. | ||
Die PIN ist vom Anwender in die Konfiguration des SOC-Moduls einzutragen. | ||
Das SOC-Modul benutzt nach Speichern die PIN um die Authentication abzuschliessen. | ||
Die PIN ist 15 Minuten gültig, daher ist dies zügig zu machen. | ||
|
||
|
||
Für beide Methoden gilt: | ||
Bei erfolgreicher Authentication wird vom Authentication Server ein refresh token und access token erzeugt. | ||
Bei Ablauf des access token wird in OAUTh ein Token Refresh durchgeführt, der ein neues Paar token erzeugt. | ||
|
||
Der access Token ist nur 2 Stunden gültig. | ||
Der refresh Token ist länger gültig, ist aber nur ein mal nutzbar. | ||
Daher muss der refresh token immer gespeichert werden wenn der access token ungültig ist. | ||
Daher ist es empfohlen, die Intervalle in der Modulkonfiguration auf weniger als 2 Stunden zu setzen. | ||
90 Minuten im Standby und 10 Minuten während des Ladens haben sich im Test bewährt. | ||
|
||
Wenn die Intervalle auf mehr als 2 Stunden konfiguriert sind, wird bei der nächsten Abfrage ein Login durchgeführt. | ||
Das benötigt deutlich mehr Zeit und es können die Token anderer Sitzungen, z.B. der smart Control App, | ||
ungültig werden und einen neuen Login benötigen mit Eingabe von User und Passwort. | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.