NEWS
Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code
-
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
-
Vielen Dank für dieses Script! Perfekt.
Wir haben ja hier folgenden Konflikt:
-
Die Login-Daten dürfen keinesfalls im Klartext im ioBroker gespeichert werden.
-
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.
! ````
//------------------------------------------------------------------------------
// 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:
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?
-
-
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
-
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
-
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:(.
-
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
-
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).
-
Mein logOn geht auch nicht mehr Ich glaube Freitag ging es noch. Das untere habe ich ohne Erfolg ausprobiert.
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 `
-
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.
-
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
-
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.
-
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
-
Yup - kann ich bestätigen. Das Skript funktioniert wieder - ohne jegliche Änderung der HTTP Header. (Stand 22. Mai 17:49 Uhr)
-
ich denke mal amazon ist wieder im kontroll-wahn und versucht sowas zu unterbinden!!!
-
hier geht es leider nicht mehr….oderr einfach mal abwarten???
-
Bei mir funktioniert es auch immer noch nicht wieder egal ob mit der Änderung im Skript oder ohne
Gruß Lars
-
Hallo,
ich bin vor selben Problem betroffen, letzte Wochen nur login failed. Mittlerweile wollte auch die Anmeldung im Edge-Browser nicht mehr klappen (in der App, am Smartphone dagegen doch). Habe auch die Browseridentifizierung wie hier in Forum vorgeschlagen geändert - ohne Erfolg.
Bis mir gestern im LogOn Script von Franke (v0.7) die Variable "twofacode" aufgefallen ist - heisst ja nicht umsonst Alexa LogOn mit User/Pass + 2FA Code.
In Firefox angemeldet kam eine Anforderung nach einem Verifizierungscode. Diese kam per Mail, im Sript als twofacode-Wert eingetragen, LogOn Script gestartet und - wieder logon failed .
Im Browser den Verifizierungscode eingetragen, angemeldet.
Dann den twofacode im Script wieder auf "" zurückgesetzt - und die Anmeldung erfolgte!!
Fazit: kann es sein, dass die AMAZON Anmeldung gelegentlich den 2FA Code verlangt und daran die Script-Anmeldung scheitert?
Ich werde nichts ändern solange es läuft, kann das jemand mit der twofacode-Eintragung verifizieren? Vielleicht kann man die 2FA Code Anmeldung im Browser erzwingen, indem man z.B. den cookie bzw. cache löscht?
Weiterhin, den Abbruch der Javascript-Instance beim abgelaufenen cookie habe ich im AlexaControl Script vom hauke über try - catchy abgefangen, in der catch starte ich den Logon-Script. Muss ich noch die Verschüsselung wie hier in Forum vorgeschlagen, einbauen.
Gruß Marian
-
Hallo,
ich bin vor selben Problem betroffen, letzte Wochen nur login failed. Mittlerweile wollte auch die Anmeldung im Edge-Browser nicht mehr klappen (in der App, am Smartphone dagegen doch). Habe auch die Browseridentifizierung wie hier in Forum vorgeschlagen geändert - ohne Erfolg.
Bis mir gestern im LogOn Script von Franke (v0.7) die Variable "twofacode" aufgefallen ist - heisst ja nicht umsonst Alexa LogOn mit User/Pass + 2FA Code.
In Firefox angemeldet kam eine Anforderung nach einem Verifizierungscode. Diese kam per Mail, im Sript als twofacode-Wert eingetragen, LogOn Script gestartet und - wieder logon failed .
Im Browser den Verifizierungscode eingetragen, angemeldet.
Dann den twofacode im Script wieder auf "" zurückgesetzt - und die Anmeldung erfolgte!!
Fazit: kann es sein, dass die AMAZON Anmeldung gelegentlich den 2FA Code verlangt und daran die Script-Anmeldung scheitert?
Ich werde nichts ändern solange es läuft, kann das jemand mit der twofacode-Eintragung verifizieren? Vielleicht kann man die 2FA Code Anmeldung im Browser erzwingen, indem man z.B. den cookie bzw. cache löscht?
Weiterhin, den Abbruch der Javascript-Instance beim abgelaufenen cookie habe ich im AlexaControl Script vom hauke über try - catchy abgefangen, in der catch starte ich den Logon-Script. Muss ich noch die Verschüsselung wie hier in Forum vorgeschlagen, einbauen.
Gruß Marian `
YEEESS! Das hatte ich lange nicht probiert gehabt, mich auf alexa.amazon anzumelden. Da habe ich dann den neuen Code per SMS erhalten und eingegeben und schon war cookievalid auf true nach Starten des Scripts. Also ganz einfach und unkompliziert -
Ist denn hier wirklich niemand, der weiterhelfen kann??
Bei mir kommt immer wieder der Fehler:
19:43:06.283 [error] javascript.1 at Object.main (script.js.AlexaLogOn:123:37)
Ich kann mich abmelden und anmelden wie ich will, ich bekomme auch keinen Code oder dergleichen.
Ist doch wirklich traurig:(…
-
Ist denn hier wirklich niemand, der weiterhelfen kann??
Bei mir kommt immer wieder der Fehler:
19:43:06.283 [error] javascript.1 at Object.main (script.js.AlexaLogOn:123:37)
Ich kann mich abmelden und anmelden wie ich will, ich bekomme auch keinen Code oder dergleichen.
Ist doch wirklich traurig:(… `
Anhand deines vorherigen Post, klingt es so als hätte es vorher mal funktioniert. Richtig?Ich weiß leider nicht wo man da nachschaut… ist das Object.main etwas im javascript-Adapter ist oder heißt es dass in der 123. Zeile oder 37. Zeile von dem Script ein Problem ist?
Benutzt du dieses 2FA Code? Vielleicht mal ohne Probieren?
Ich benutze es nicht; in meiner 37. Zeile steht````
var twofacode = "";