Ankündigung

Einklappen
Keine Ankündigung bisher.

Alexa Text to Speech

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    AndreK Mein importiertes Cookie hielt das erste mal ein paar Stunden. Inzwischen vielleicht noch 1 Stunde. Das Plugin ist so also mit MFA kaum bis gar nicht nutzbar. Hab meine Squeezeboxes wieder ausgegraben :-(

    Aber ich geb die Hoffnung nicht auf :-)

    Der von dir verlinkte Artikel erklärt dass man das oathtool Tool nutzt um ein weiteres MFA Gerät anzumelden. Dies habe ich getan und es auch mit dem oathool bestätigt.

    Jetzt habe ich ein MFA String im Format
    Code:
    E4NP GWXQ VALY HBZ3 BYFF DUEF JAPP IPYY 4JJU H62H UXPY BZ7K QEMA
    (hier natürlich verändert) den ich laut Anleitung als MFA_SECRET in dem Script auf das sich diese Seite bezieht nutzen kann. Nur hat dein Plugin die Nutzung eines MFA Secrets aber (noch) nicht vorgesehen. Deshalb frage ich mich jetzt natürlich, was ich mit dem Secret anfange ?

    Kommentar


      Hallo Foxi352 ,

      soweit ich das in den Quellen von Loetzimmer und der Edomi-Lösung erkennen konnte wird der ermittelte MFA_Code einfach hinter das Passwort gehängt.

      Password = "meinPWD"
      MFA_Code "123456"

      Passwort mit MFA für die Anmeldung "meinPWD123456".
      Das Passwort mit ergänzetem MFA-Code im Web-IF des Plugins eintragen und speichern, danach einloggen.

      Man muss wohl sehr schnell sein mit der Anmeldung da das MFA-Secret nur ein paar Sekunden
      (ich meine iregendwo 15 gelesen zu haben) gültig ist.

      Wie gesagt, noch nicht selbst getestet

      Gruss Andre


      Kommentar


        AndreK Moin

        Das habe ich aber anders verstanden. Was du meinst ist der TOTP Code, also der 6-stellige OTP Code der dann hinter das Password gehängt wird. Das Problem ist, der ist dann nicht länger gültig als das Cookie und muss danach mit dem oathtool neu berechnet werden. Das wäre also kein Gewinn.

        So wie ich das verstanden habe kann man dem Script auch den MFA_Code übergeben. Das ist kein 6-stelliger Code sondern wie ich im vorherigen Post geschrieben hatte ein langer Code (Beispiel siehe vorheriger Post). Damit kann das Script dann jeweils beim login selbst den 6-stelligen TOTP Code berechnen. Wahrscheinlich nutzt das Script auf der Seite das oathtool um das zu tun ....

        Ich denke du verwechselst TOTP Code mit dem MFA_Code (das das war in dem QRCode angezeigt wird wenn mat ein neues Auth tool anmeldet).

        Kommentar


          Foxi352 ,

          OK kann sein, dass es wie Du beschrieben hast laufen muss. Dann würde ich ins Plugin die Eingabe des MFA-Secrets einbauen.
          Mittels eines popen kann das OAuth-Tool den Code berechnen und ihn ans Passwort beim einloggen anhängen.
          Wie ist Deine Meinung ?

          Gruss Andre

          Kommentar


            Moin AndreK

            Genauso macht es auch das von dir verlinkte Script. Ich hab mir das mal angesehen:

            Code:
            #
            # add OTP if using MFA
            #
            if [ -n "${MFA_SECRET}" ] ; then
              OTP=$(${OATHTOOL} -b --totp "${MFA_SECRET}")
              PASSWORD="${PASSWORD}${OTP}"
            fi
            Wie du siehst ruft er auch vom Script aus das oathool auf und hängt das Resultat an das Password an. Natürlich nur wenn ein MFA Code eingegeben wurde.

            Besser und sauberer würde ich es natürlich finden wenn wir eine Python Library finden die das macht anstelle von popen. Hab nach einem schnellen googlen schon mal was gefunden: https://github.com/pyauth/pyotp
            Aufgerufen wird es wohl sehr einfach wie folgt:
            Code:
            totp = pyotp.TOTP('base32secret3232')
            totp.now() # => '492039'
            Wobei das base32secret das MFA_SECRET ist

            Kommentar


              Hi Foxi352 ,

              das mit der Python-Library hatte ich auch überlegt, das würde aber heißen, das jeder die Library installieren muss ob er MFA nutzt oder nicht.
              Könnte man sicherlich über die requirements abdecken.

              Die Frage ist, was ist uns lieber OAuth-Tool oder python-library ?

              Da in der Regel von der Verwendung einer Exoten-Library abgeraten wird würde ich das OAuth-Tool mittels Popen bevorzugen, bin aber für alles offen.

              Vielleicht kann noch jemand anderes ein Statement / Meinung abgeben.

              Viele Grüsse Andre

              Kommentar


                Danke AndreK für die schnelle Antwort.

                So exotisch scheint mir die pyotp nun auch nicht zu sein: https://pypi.org/project/pyotp/
                Ich persönlich fände es am besten pyotp in die Plugin Requirements aufzunehmen. Damit wird die lib nur installiert wenn das Plugin benutzt wird. Andererseits wird sie beim Nutzen des Plugins automatisch installiert. Mit dem Kommandozeilentool muss der User noch manuell das oathtool installieren. Da wittere ich schon wieder unnütze Support Anfragen in deine Richtung :-)

                Grundsätzlich finde ich es immer sauberer eine Lib zu nutzen anstelle von externen Aufrufen.psilo ​​​​​​​Was meinst du

                Wenn ich mir andere Plugins, z.B. mein Deebot Ozmo Plugin, da werden wesentlich exotischere und instabilere Libs installiert (zrecks Mangel an Alternativen).

                Aber du bist der Chef des Plugins, solange es funktioniert ist es mir persönlich eigentlich egal ;-)

                Mit freundlichen Grüßen,

                Serge
                ​​​​​​​

                Kommentar


                  Ja, ich bin auch eher für LIB.. oder man lässt es raus aus den requirements und schreibt das in die doku.. bzw wirft nen fehler wenn man mfa nutzt und die lib fehlt. das database plugin verlangt ja auch nicht zwingend via requirements.txt pymsql, nur als beispiel.

                  Kommentar

                  Lädt...
                  X