Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Hier wird über Amazon Alexa Steuerung diskutiert.
Benutzeravatar
lobomau
guru
Beiträge: 1054
Registriert: 24.03.2016, 10:45

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von lobomau » 08.03.2018, 13:39

liv-in-sky hat geschrieben:sorry - stimmt ja- der absturz kam durch das andere skript.

ich hätte da noch eine andere frage: macht es sinn einen 2ten js-adapter zu installieren und darin die beiden alexa scripts laufen zu lassen. wenn es wieder probleme gäbe, sollte doch dann nur ein adapter abstürzen und der rest läuft noch ! ist das eine gute idee?
Natürlich macht eine zweite (dritte) javascript-Instanz dafür Sinn. Habe ich und viele andere so im Einsatz.
Wichtige Scripte, die ohne Internet funktionieren, habe ich in der Instanz.0.
Bei mir sind die Scripte, die mit Internet arbeiten in Instanz.1 und die zum Testen in Instanz.2.
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

Benutzeravatar
liv-in-sky
starter
Beiträge: 95
Registriert: 07.12.2017, 10:48

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von liv-in-sky » 08.03.2018, 14:41

danke - werd ich einrichten
FUTRO 900S - Debian Stretch - Node 6.12 - NPM 4.6.1 -- dwd - sql - telegram - pushbullet - avm - sayit - vis - cloud - dect heizregler - sonoff - xiaomi - broadlink

Plasmachef
starter
Beiträge: 82
Registriert: 15.01.2018, 07:21

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Plasmachef » 09.03.2018, 19:18

Hallo Zusammen,

ich erhalte immer die Meldung, dass LogOn failed

- Alle Geräte schon neugestartet
- User und Passwort x-mal überprüft (geschrieben, kopiert, verglichen, im Browser getestet usw.)
- mit allen Browsern mich angemeldet ... auch Handy
- 2fa hab ich nicht somit auch leer gelassen

ich weiß nicht mehr weiter :-(
Dateianhänge
Logon.png
Logon.png (36.14 KiB) 522 mal betrachtet

Benutzeravatar
liv-in-sky
starter
Beiträge: 95
Registriert: 07.12.2017, 10:48

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von liv-in-sky » 09.03.2018, 19:47

ich hatte den fehler mittlerweile auch wieder - diesmal habe ich ihn durch aus - und einloggen in die alexa-webseite wegbekommen. während des einloggens habe ich dann die abfrage mit dem code bekommen (wird über email gesendet), der vom script nicht abgedeckt ist. ich habe auch den eindruck, dass man etwas warten muss (einige stunden) bis man weitermachen kann (ist nur so ein eindruck).

warum das so ist, kann ich dir leider nicht sagen - vielleicht hat ja stefan noch einen blick darauf
FUTRO 900S - Debian Stretch - Node 6.12 - NPM 4.6.1 -- dwd - sql - telegram - pushbullet - avm - sayit - vis - cloud - dect heizregler - sonoff - xiaomi - broadlink

Plasmachef
starter
Beiträge: 82
Registriert: 15.01.2018, 07:21

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Plasmachef » 10.03.2018, 08:31

Danke für die Hilfe!

Am nächsten Tag erneut probiert. NICHTS anders gemacht...und es hat geklappt.
Komische Sache :?

Stefan.Franke
starter
Beiträge: 97
Registriert: 17.11.2017, 14:00

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Stefan.Franke » 11.03.2018, 20:19

Ja, leider zeigt Amazon die Code-Seite manchmal mal wieder an, dann geht der Logon nicht.
Muss ich mir noch genauer anschauen, ob es da eine Möglichkeit gibt, richtig drauf zu reagieren...

Plasmachef
starter
Beiträge: 82
Registriert: 15.01.2018, 07:21

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Plasmachef » 26.03.2018, 06:45

Seit Freitag bekomme ich keinen validen Cookie mehr hin.
Der Login scheitert nur noch :-(

Kann ich von Hand irgendwas bewirken?
Mir fehlt die Fuktion doch sehr ... hatte mich schon so dran gewöhnt ;-)

EDIT:

hat sich erledigt!
hab die Eingaben von Hand gemacht ... aufwendig, aber wirkungsvoll :-)

Benutzeravatar
Mic
starter
Beiträge: 29
Registriert: 18.04.2018, 18:59

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Mic » 10.05.2018, 00:06

Vielen Dank für dieses Script! Perfekt.

Wir haben ja hier folgenden Konflikt:
1) Die Login-Daten dürfen keinesfalls im Klartext im ioBroker gespeichert werden.
2) Das Cookie läuft regelmäßig ab, also jetzt wohl nicht nach 2-3 Tagen, aber durchaus alle 1-2 Wochen (?), ggf. länger. Bei Ungültigkeit des Cookies geht dann erst mal plötzlich kein Zugriff mehr. Man muss dann manuell rein, und aktualisieren.

Da wir die Login-Daten nicht im ioBroker speichern sollten, ist eine automatische Aktualisierung des Cookies per Cron ausgeschlossen. Im Script ist zwar ein Cron hinterlegt, aber der lässt nur das Script starten und überprüfen, ob das Cookie noch gültig ist.

Mein Ansatz ist daher:
a) Die Login-Daten verschlüsselt z.B. in einem State speichern
b) Das Cookie z.B. 2x pro Woche per Cron automatisch aktualisieren, selbst wenn es noch funktioniert.

Punkt (b) kann man im Script wie folgt machen. Dadurch wird nur bei Auslösen des Cronjobs das Cookie automatisch aktualisiert, selbst wenn es noch aktuell ist.
Spoiler: Show hidden text

Code: Alles auswählen

//------------------------------------------------------------------------------
// Start der Script-Logik

// Cron Schedule
schedule(cronStr, mainCron);

// Function wird ausgeführt, wenn CronJob greift. Wir wollen hierdurch die Variable "isCron" auf true setzen, um damit später weiter umgehen zu können.
var isCron = false;
function mainCron() {
    // Variable setzen
    isCron = true;
    // Main Function ausführen
    main();
}



// Sofortstart
setTimeout(main, 1000);

function main() {

    if(logOn) log("Start LogOn Process");

    // Falls das Script per Cron ausgelöst wird, lesen wir das Cookie neu aus.
    var storedCookie = '';
    if (isCron === true) {
        storedCookie = ''; // Hier leeren wir die Variable. Das triggert, dass das Cookie automatisch neu ausgelesen wird.
    } else {
        storedCookie = "" + getState(idAlexaLogonCookie).val;
    }


    if (storedCookie !== null && storedCookie !== "") {
        storedCookie = storedCookie.replace(/\\/g, "");
        checkIfCookieIsStillValid(storedCookie);
    } else {
        logIntoAmazonAccount();
    }

}
Punkt (a), also die Login-Daten, ist eine Herausforderung. Ich habe mir hier so beholfen: 2 Functions, eine verschlüsselt, die andere entschlüsselt. Dadurch kann man die Login-Daten verschlüsselt in Datenpunkten ablegen und per "entschlüssel"-Funktion auf diese zugreifen. Beispiel:

Code: Alles auswählen

username = xdecrypt(getState('javascript.0.xxx.user').val, false);
password = xdecrypt(getState('javascript.0.xxx.pw').val, false);
Jeder "Dieb" kann dadurch natürlich immer noch über die Funktion an die Klar-Logins kommen, keine Frage, aber zumindest sind die Login-Daten nicht im Klartext abgelegt.
Ich teste das so derzeit, und es funktioniert prima. Aber bitte nicht nachmachen :)

Habt ihr noch bessere Ideen zur Riskominimierung hinsichtlich der Hinterlegung der Login-Daten?

ryto
starter
Beiträge: 19
Registriert: 14.02.2017, 17:44

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von ryto » 18.05.2018, 10:32

Seit heute habe ich auch die Fehler bei Cookie hohlen.
Ich habe jetzt wie hier https://blog.loetzimmer.de/2017/10/amaz ... -echo.htmlrealisiert, folgende Werte überall im Script geändert:

'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0',
'Content-Type': 'text/plain',
'Accept-Language': 'de,en-US',

jetzt kommt der Cookie wieder automatisch :) :)

Dirk
starter
Beiträge: 39
Registriert: 13.04.2016, 15:56

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Dirk » 19.05.2018, 21:26

ryto hat geschrieben:
18.05.2018, 10:32
Seit heute habe ich auch die Fehler bei Cookie hohlen.
Ich habe jetzt wie hier https://blog.loetzimmer.de/2017/10/amaz ... -echo.htmlrealisiert, folgende Werte überall im Script geändert:

'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0',
'Content-Type': 'text/plain',
'Accept-Language': 'de,en-US',

jetzt kommt der Cookie wieder automatisch :) :)
Danke - jetzt funktioniert es bei mir auch wieder - mit dieser Änderung

Gruß
Dirk

AndyUM61
professional
Beiträge: 253
Registriert: 23.06.2015, 08:41

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von AndyUM61 » 20.05.2018, 09:52

Hallo,

irgendwie logt er sich bei mir seit einiger Zeit überhaupt nicht mehr ein:(.
Das LoginScript funktioniert also so nicht mehr.

Irgendwo hatte mal jemand etwas von "Cookie manuell erneuern" geschrieben.
Kann mir dazu jemand genauere Informationen geben?

Wie mache ich meine Alexa-Scripts wieder lauffähig?
Ohne Cookie geht da ja anscheinend absolut gar nichts:(.
Internette Grüße
Andy

RaspberryMatic (Raspberry Pi3), CUxD, ioBroker (Win 8.1/64)

Benutzeravatar
liv-in-sky
starter
Beiträge: 95
Registriert: 07.12.2017, 10:48

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von liv-in-sky » 20.05.2018, 09:56

habe das selbe problem - seit 3 tagen geht nix mehr - würde mich auch über unterstützung freuen

habe auch das mit der user-agent änderung probiert - geht auch nicht
FUTRO 900S - Debian Stretch - Node 6.12 - NPM 4.6.1 -- dwd - sql - telegram - pushbullet - avm - sayit - vis - cloud - dect heizregler - sonoff - xiaomi - broadlink

Sven79
Beiträge: 2
Registriert: 06.02.2018, 22:05

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Sven79 » 20.05.2018, 10:07

Bei mir funktioniert der Login ebenfalls nicht. Die Umstellung des User-Agents hat nichts bewirkt (wobei mir auch nicht ganz klar ist, inwiefern das überhaupt etwas bewirken sollte).

Benutzeravatar
lobomau
guru
Beiträge: 1054
Registriert: 24.03.2016, 10:45

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von lobomau » 21.05.2018, 10:39

Mein logOn geht auch nicht mehr :-( Ich glaube Freitag ging es noch. Das untere habe ich ohne Erfolg ausprobiert.
Dirk hat geschrieben:
19.05.2018, 21:26
ryto hat geschrieben:
18.05.2018, 10:32
Seit heute habe ich auch die Fehler bei Cookie hohlen.
Ich habe jetzt wie hier https://blog.loetzimmer.de/2017/10/amaz ... -echo.htmlrealisiert, folgende Werte überall im Script geändert:

'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0',
'Content-Type': 'text/plain',
'Accept-Language': 'de,en-US',

jetzt kommt der Cookie wieder automatisch :) :)
Danke - jetzt funktioniert es bei mir auch wieder - mit dieser Änderung

Gruß
Dirk
brix 3150 gigabyte (ioB mit vis, hue, tr-064, ical, ping, telegram, rflink, tankerkoenig, DWD, radar, unifi, Landroid S)
pi3 (Ansagen über sayit, kabelgebunden)
pi1 (arbeitssuchend)
Arduino mega mit 433 MHz-rflink
Google Home, Echo, Echo Dot

Kampell
Beiträge: 9
Registriert: 10.03.2018, 23:18

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Kampell » 21.05.2018, 19:28

Ich schließe mich hier an. Logon Failed... könnte das jemand fixen?

Gruß

EDIT:

Der beschriebene Fix von Ryto funktioniert bei mir! Ihr müsst das ganze 6 mal im Logon Script ändern. Dann müsste es gehen.

Lars89
starter
Beiträge: 12
Registriert: 19.11.2017, 01:01

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Lars89 » 21.05.2018, 20:49

Hallo, auch ich habe das Problem das kein Login mehr funktioniert.

Ich habe so wie beschrieben versucht das Problem zu lösen nur logt er sich bei mir immer noch nicht wieder ein.

Entweder ich habe irgendetwas falsch gemacht oder ich weiß es auch nicht :roll: :roll: :roll:

Kann vielleicht noch mal jemand erklären was genau im Skript geändert werden muss :!: :?:

Sage schon einmal vielen Dank.

LG Lars

Benutzeravatar
Mic
starter
Beiträge: 29
Registriert: 18.04.2018, 18:59

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Mic » 21.05.2018, 21:05

Hi zusammen,

ich hatte das Problem sporadisch auch und im Script den erweiterten Log aktiviert (var logOn = true;), da fiel im Log auf, dass sehr wohl das Cookie ausgelesen wird. Meine Vermutung war, dass es nicht richtig geparsed wurde, also wäre das ein Ansatz. "Leider" funktioniert es aber bei mir wieder, so dass ich es nicht nachstellen kann. Vielleicht habt Ihr Zeichen im Cookie, mit denen der Parser im Script falsch umgeht. Wäre ein Ansatz, mit dem Ihr Euch das mal näher anseht. Ich kann es wie gesagt derzeit nicht reproduzieren, da bei mir das Script erfolgreich wieder läuft.

Die o.g. Lösungsvorschläge der Anpassung von 'User-Agent' und 'Accept-Language' erscheint mir als Schuss ins Blaue, womit ggf. temporär nur ein anderer Cookie erzeugt wird, der sich eben im Moment wieder parsen lässt durch das Script. Aber würde tatsächlich da beim Parsen mal ansetzen.

Benutzeravatar
liv-in-sky
starter
Beiträge: 95
Registriert: 07.12.2017, 10:48

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von liv-in-sky » 22.05.2018, 16:41

habe es heute einfach mal wieder probiert - und jetzt geht es wieder - keine ahnung warum - beim ersten versuch mit dem oben genannten useragent ging es nicht (vor 2 tagen) habe nix gemacht, nur wieder die beiden scripts aktiviert
FUTRO 900S - Debian Stretch - Node 6.12 - NPM 4.6.1 -- dwd - sql - telegram - pushbullet - avm - sayit - vis - cloud - dect heizregler - sonoff - xiaomi - broadlink

Sven79
Beiträge: 2
Registriert: 06.02.2018, 22:05

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von Sven79 » 22.05.2018, 16:49

Yup - kann ich bestätigen. Das Skript funktioniert wieder - ohne jegliche Änderung der HTTP Header. (Stand 22. Mai 17:49 Uhr)

Benutzeravatar
liv-in-sky
starter
Beiträge: 95
Registriert: 07.12.2017, 10:48

Re: Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Beitrag von liv-in-sky » 22.05.2018, 16:57

ich denke mal amazon ist wieder im kontroll-wahn und versucht sowas zu unterbinden!!!
FUTRO 900S - Debian Stretch - Node 6.12 - NPM 4.6.1 -- dwd - sql - telegram - pushbullet - avm - sayit - vis - cloud - dect heizregler - sonoff - xiaomi - broadlink

Antworten