NEWS
Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code
-
war wahrscheinlich/vielleicht zufall - ich dachte mir nur einmal ein anderes gerät zu benutzen als meinen standard pc würde etwas ändern - hat es dann auch. `
werde ich mal ausprobieren, wenns bei mir wieder soweit istweiteree frage: kann man dein alexa script nicht so ändern (bzw das du es änderst :-)), dass es nicht mehr abstürzt wenn der cookie falsch ist - es hat meine ganze iobroker einrichtung lahmgelegt.
falls nur ich das problem habe kannst mir ja vielleicht einen tipp geben wie ich das machen kann - ich würde gerne alexa mit tuneIn radio zum wecken benutzen - da ich aber ca. alle 2 wochen das login script-problem habe kann ich mich darauf nicht verlassen. muss ich evtl. eine sicherheitsabfrage von javascript.0.productive.alexalogon.cookievalid machen? `
Das Problem mit dem Absturz ist, deinem Screenshot folgend, nicht im LogOn-Script, sondern in dem Script, welches das Cookie liest. Also hier das tuneln radio script.
Das müsste also derjenige Entwickler sich anschauen, wie das abgesichert werden kann. Sprich, wenn das Cookie leer ist, nicht die ganze JS-Instanz zu crashen.
Ich muss da glaube ich auch noch mal in meinem DeleteAlexaActivity Script schauen, weil das ist glaube ich auch nicht dagegen abgesichert…
-
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?
-
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.
-
danke - werd ich einrichten
-
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
5201_logon.png -
-
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
-
Danke für die Hilfe!
Am nächsten Tag erneut probiert. NICHTS anders gemacht…und es hat geklappt.
Komische Sache :?
-
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…
-
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