Authentifizierung über OAuth 2.0 möglich?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Plus06
    Smart Home'r
    • 31.08.2015
    • 77

    #1

    Authentifizierung über OAuth 2.0 möglich?

    Hallo Zusammen,

    ich habe seit einigen Wochen bei mir einen Nest Protect im Einsatz und bin begeistert von den gebotenen Möglichkeiten.
    Eine Möglichkeit ist u.a. die Abfrage des Gerätestatus über die Nest-API. Die Nest-API arbeitet mittels OAuth 2.0 Authentifizierung.

    Meine Tests habe ich derzeit in Chrome mit der App Postman durchgeführt. D.h. ich kann mir alle relevanten Gerätedetails anzeigen lassen.
    Welche das genau sind findet Ihr hier (oder Bild im Anhang): https://developers.nest.com/documentation/api-reference

    Meine Frage ist nun, gibt es in der Loxone Config eine Möglichkeit einen Access Token in den Header Informationen zu hinterlegen?
    Ein Aufruf über http://IP.XYZ./access_token scheint mir nicht möglich zu sein :-(

    Die erwartete Antwort beim API Aufruf ist JSON Objekt, welches ich über den HTTP-Eingang verarbeiten möchte.

    Über ein kurzes Feedback würde ich mich freuen.

    Viele Grüße
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11234

    #2
    Hi,

    beim virtuellen HTTP Eingang kann man den Header nicht anpassen.

    Vielleicht funktioniert es noch so:
    Code:
     
     https://developer-api.nest.com/devices.json?auth=c.FmDPkz... [FONT=Helvetica][/FONT]
    Sonst ist es das "Einfachste", beispielsweise auf einem Raspberry ein Proxyscript (z.B. PHP) anzubieten, was die Authentifizierung im Header mitschickt, und dir den JSON-Output zurückgibt.

    PS: Dir ist bewusst, dass das Thermostat ohne Internetverbindung nicht funktioniert? Ala https://www.loxforum.com/forum/small...perrt-user-aus
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • Plus06
      Smart Home'r
      • 31.08.2015
      • 77

      #3
      Hallo Christian,

      vielen Dank für die schnelle Antwort. Ich habe Deinen Code getestet und es funktioniert :-)
      Ich bekomme jetzt ein JSON Objekt zurück, welches ich in der LoxConfig zerlegen kann.

      Ich habe jetzt nur das Problem, dass mein Access Token eine bestimmte Lebensdauer hat.
      Hast Du hier eine Idee, wie man das evtl. lösen könnte, oder funktioniert das nur über die o.a. RasPi Lösung?

      Viele Grüße
      Chris

      PS: Der Artikel hinter dem Link von Dir ist ja krass! Bzgl. dem Protect und fehlender Internetverbindung muss ich testen

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11234

        #4
        Das wundert mich - bei NEST steht:
        We don't support refresh tokens, because access tokens are effectively non-expiring.
        (https://developers.nest.com/document...ion-reference/)

        Wenn das nicht dauerhaft hinhaut, musst du tatsächlich den Weg über ein Proxyscript gehen, weil Loxone keine bidirektionale Kommunikation kann. Bestenfalls mit PicoC könnte es gehen, aber einfacher ist es sicher, irgendein Code-Snippet aus dem Web zu nehmen und beispielsweise am Raspberry zu betreiben.
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        • Plus06
          Smart Home'r
          • 31.08.2015
          • 77

          #5
          Hallo Christian,

          das habe ich wohl überlesen. Dann werde ich heute Abend gleich mal testen.
          Wenn es funktioniert, dann stelle ich hier ein Tutorial ein :-)

          Gruß
          Chris
          Zuletzt geändert von Plus06; 20.04.2017, 22:38.

          Kommentar

          • Plus06
            Smart Home'r
            • 31.08.2015
            • 77

            #6
            Hallo Christian,

            ich habe nun die ersten Tests abgeschlossen. Anlegen eines virtuellen HTTP-Eingangs (https://developer-api.nest.com/devic...?auth=c.FmDPkz...)
            Erstellen von "Virtuelle HTTP Eingang Befehl". Funktioniert soweit hervorragend

            Leider komme ich beim Anzeigen der Firmware Version nicht weiter...Die Firmware Version wird wie viele weitere Werte auch nur als String zurückgegeben.
            Meine Versuche das über den Status bzw. Virtuellen Status anzeigen zu lassen (\v geht nicht - \w geht nicht - \. geht nicht) schlugen fehl.

            Hast Du eine Idee?

            Gruß
            Chris

            Kommentar

            • Christian Fenzl
              Lebende Foren Legende
              • 31.08.2015
              • 11234

              #7
              Grundsätzlich gehen mit VIB's keine Strings, sondern nur Zahlenwerte.
              Da die Versionsnummer unter Anführungszeichen steht, musst du bei der Suche nach der Zahl das Anführungszeichen überspringen.

              Also nicht
              Code:
              "software-version":\v
              sondern
              Code:
              "software-version": "\v
              Du musst dich also mit der Suche bis zum eigentlichen (wirklichen) Zahlenwert vorarbeiten.
              Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

              Kommentar

              Lädt...