Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. simple-api mit Benutzerauthentifizierung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    simple-api mit Benutzerauthentifizierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • crycode
      crycode Developer last edited by

      Hier mein Setup:

      js-controller 2.1.0
      simple-api 2.3.2

      API-Nutzer: homepi (system.user.homepi) in der Gruppe Benutzer (system.group.user) mit folgenden Rechten:

      Screenshot_2019-11-17 users - ioBroker(1).png
      Screenshot_2019-11-17 users - ioBroker.png

      Als Datenpunkt schreibe ich einen Text in custom.0.telegram-send mit diesen Rechten:
      Screenshot_2019-11-17 objects - ioBroker.png

      Die URL sieht bei mir so aus:

      https://host:port/setValueFromBody/custom.0.telegram-send?user=homepi&pass=******
      

      Beispielaufruf mit cURL:

      curl -k --data "Der Text" "https://host:port/setValueFromBody/custom.0.telegram-send?user=homepi&pass=******"
      

      Scheint soweit alles zu funktionieren.

      1 Reply Last reply Reply Quote 0
      • Diginix
        Diginix last edited by Diginix

        Danke @crycode. Was ich bei dir gar nicht verstehe ist dass dein Objekte noch komplett Admin und Administrator gehört.
        Das hatte ich früher auch so und da ging es nie. @apollon77 machte mich dann auf den Fehler der nicht korrekten Gruppe aufmerksam. Ich sehe aber gerade dass du den letzten Haken für "Jeder darf Schreiben" aktiviert hast.

        Als ich simpl-api nun mal als Erweiterung für web.0 aktiviert hatte und mich per Browser Login authentifiziert hatte, erhielt ich diese Fehlermeldung:

        File javascript.0.Objects.Door_Window.Gate_Switch not found: permissionError
        

        Als web.0 Erweiterung ist aber keine Authentifizierung per URL Parameter möglich.

        Dann habe ich nochmal eine neue Gruppe erzeugt und es mal mit einem Objekt außerhalb von javascript.0 probiert was erstaunlicherweise funktionierte. Danach funktioniert nun vorerst auch mein Objekt unterhalb von javascript.0 aber bisher nur lesend.

        Wenn ich wie @crycode den Hakeb für "jeder darf schreiben" beim Objekt setze, dann funktioniert es bei mir auch mit /set URLs. Aber das ist unlogisch wenn die Gruppe schon schreiben darf und das Objekt auch der Gruppe gehört.
        @apollon77 Warum muss dann "jeder" schreiben dürften?

        1 Reply Last reply Reply Quote 0
        • crycode
          crycode Developer last edited by

          @Diginix sagte in simple-api mit Benutzerauthentifizierung:

          Wenn ich wie @crycode den Hakeb für "jeder darf schreiben" beim Objekt setze, dann funktioniert es bei mir auch mit /set URLs. Aber das ist unlogisch wenn die Gruppe schon schreiben darf und das Objekt auch der Gruppe gehört.

          Das sollte das Problem doch schon mal eingrenzen.

          Bei mir läuft simple-api nicht als web.0 Erweiterung sondern einzeln. Ich kann mich noch dunkel erinnern, dass bei meiner Einrichtung der simple-api damals irgendwas mit http nicht funktionierte, weshalb ich dann https aktiviert hatte. Was das genau war bekomm ich grad aber leider nicht mehr zusammen.

          Diginix 1 Reply Last reply Reply Quote 0
          • Diginix
            Diginix @crycode last edited by

            @crycode Läuft bei mir auch nicht als web.0 Erweiterung weil sonst die Authentifizierung nicht per URL Parameter funktioniert. Hab nur im Test mal alle Einstellungen durchprobiert.
            Mit dem Haken für "jeder darf schreiben" bei meinem Objekt kann ich vorerst leben.
            Aber da scheint doch ein Bug drin zu sein wenn die Gruppe, die es eigentlich darf, es doch nicht darf.

            apollon77 1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 @Diginix last edited by

              @Diginix Frage: "Reicht jeder darf lesen"?

              1 Reply Last reply Reply Quote 0
              • Diginix
                Diginix last edited by

                Ich glaube ich habe nun die Lösung und es ist kein Bug.

                Die Gruppe muss zusätzlich "list" als Berechtigung für Zustand und Objekt erhalten seit JS-Controller 2.x

                gruppe_neu.png

                Hatte @apollon77 mir auch schon mal als Tipp gegeben. Nach Änderungen der Gruppenrechte muss aber die simple-api Instanz jedes mal neu gestartet werden damit die Änderungen auch greifen. Das hatte ich bisher nicht gewusst.

                apollon77 1 Reply Last reply Reply Quote 2
                • apollon77
                  apollon77 @Diginix last edited by

                  @Diginix Aahh das kann sein. Ja müssen dringend das rechtekram mal Dokumentieren.

                  Bzw würdest du mal (gern hier als Post oder so) mal für einen User der so eine user Einstellung mag wie du das mal zusammenschreiben was wie und warum gesetzt sein muss ?! Dann würde ich das als Grundlage mal nehmen für sowas.

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    Bzw zusätzlich (grad nachgedacht) wäre ggf ein Admin issue sinnvoll mit „was sollte wann automatisch im rechte Dialog gesetzt werden wenn man was will“. Wie „Objekt read und list muss an sein wenn state * gewollt ist “ oder so ... das andere User da gar nicht rein rennen ?!

                    Hast du da Ideen?

                    Diginix 1 Reply Last reply Reply Quote 0
                    • Diginix
                      Diginix @apollon77 last edited by

                      @apollon77
                      Ich überlege mal. Aber für den Anfang würde es reichen in der github Anleitung von simple-api vllt 1-2 konkrete Beispiele zu dokumentieren. Mit allem was eben auch bei der Nutzerverwaltung dazu gehört.
                      Komfort Features wären schön, aber kosten Entwicklung und da es ja prinzipiell funktioniert, wäre diese Zeit an anderen Stelle für wirklich neues oder Bugfixing sinnvoller.

                      apollon77 1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @Diginix last edited by

                        @Diginix Da du so ein Setup live hast wäre cool wenn du mir da input geben könntest (wenn Du magst und Zeit hast) ... Dann packe ich es da rein

                        Diginix 1 Reply Last reply Reply Quote 0
                        • Diginix
                          Diginix @apollon77 last edited by

                          @apollon77 Ja, das kriegen wir hin. Ich schreib da mal was zusammen mit Screenshots der entscheidenden Bereiche.

                          1 Reply Last reply Reply Quote 1
                          • apollon77
                            apollon77 last edited by

                            Cooool Thx!

                            Poste es hier im Forum, dann ists direkt MDund ich kann es einfacher in die Doku übernehmen 😉

                            1 Reply Last reply Reply Quote 0
                            • X
                              xxxspxxx last edited by

                              @Diginix Hast du das jetzt irgendwo dokumentiert? Habe auch totale Probleme mit der Authentifizierung von Simple-api diese läuft bei mir auch getrennt (eigenständig) vom Web.0

                              Ich bekomme als an neu angelegter Benutzer und Gruppe nicht hin. Das mit "Jeder schreiben" habe ich noch nicht benutzt wenn ich das richtig verstanden habe wird das nicht benötigt oder?

                              Diginix 1 Reply Last reply Reply Quote 0
                              • Diginix
                                Diginix @xxxspxxx last edited by Diginix

                                @xxxspxxx Ich habe mir alles lokal in einem Gedächtnisprotokoll gespeichert um daraus mal einen Auszug für eine Anleitung zu schreiben. Bisher ist das mangels Zeit nicht geschehen. Doku schreiben mag wahrscheinlich niemand. 😉

                                Hier mal meine Stichpunkte:

                                • Objekt gehört Gruppe oder dem Nutzer oder alle dürfen es lesen/schreiben
                                • Gruppe hat mind. lesen, list, schreiben
                                • Verwendeter Benutzer ist in der Gruppe dem das Objekt gehört oder ist Besitzer vom Objekt
                                • simple-api Instanz muss neu gestartet werden wenn Berechtigungen angepasst wurden
                                • Für Authentifizierung per URL Parameter muss der separate simple-api Adapter genutzt werden, nicht die eingebaute vom web Adapter
                                • Benutzername und Passwort darf keine Großbuchstaben enthalten

                                Vielleicht hilft dir das schon. Ansonsten poste mal Screenshots der Gruppe, dem User und den Berechtigungseinstellungen vom Objekt, welches gelesen/geschrieben werden soll.

                                1 Reply Last reply Reply Quote 0
                                • X
                                  xxxspxxx last edited by

                                  Krass schnelle Antwort :=) Danke
                                  Also deine Bedingungen habe ich alle auch so gesetzt.

                                  Glaube ich hatte alles richtig haben aber beim Login-namen einen Großbuchstaben benutzt. Kann das sein? Habe gerade aus frust einfach mal test und pw auch test1 angelegt und dann ging es sofort?

                                  Diginix 1 Reply Last reply Reply Quote 0
                                  • Diginix
                                    Diginix @xxxspxxx last edited by

                                    @xxxspxxx Ok, bei mir war glaub immer alles klein geschrieben. Kannst ja noch mal die Gegenprobe machen und berichte.
                                    Sicherheitshalber immer die simple-api Instanz neustarten.
                                    Sollte die Schreibweise relevant sein bzw mit Großbuchstaben Probleme machen, würde ich diesen Punkt mit aufnehmen.

                                    1 Reply Last reply Reply Quote 0
                                    • X
                                      xxxspxxx last edited by

                                      Ja habe ich sofort überprüft. Vielleicht machst du das kurz auch bei dir noch als gegenprobe. Glaube unter Linux gibt es keine Großbuchstaben bei Benutzernamen und hostnamen? Vielleicht ist es extra so. Http login geht aber halt mit dem Benutzer. TestTestUser den ich soeben nochmal angelegt habe.

                                      Diginix 1 Reply Last reply Reply Quote 0
                                      • Diginix
                                        Diginix @xxxspxxx last edited by

                                        @xxxspxxx Ich kann es bestätigen. Großbuchstaben im Nutzernamen führen zu einem "permission error", auch wenn der user richtig geschrieben per URL Parameter übergeben wird.
                                        Kann sein dass es ein Bug ist, aber für den Moment kann man das Problem ja durch Verwendung von ausschließlich Kleinbuchstaben für user+pass umgehen.

                                        apollon77 C 2 Replies Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 @Diginix last edited by

                                          @Diginix Bitte Issue öffnen

                                          Diginix 1 Reply Last reply Reply Quote 0
                                          • Diginix
                                            Diginix @apollon77 last edited by

                                            @apollon77 Beim simple-api Adapter? Und ist es denn überhaupt ein Bug?

                                            apollon77 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            451
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            simple-api
                                            6
                                            26
                                            2793
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo