Giter Club home page Giter Club logo

Comments (5)

bambby avatar bambby commented on September 9, 2024 1

Hallo Florian,
die Einstellung der Security Policy hat das Problem gelöst! Vielen Dank!
Sind irgendwelche gravierenden Security Auswirkungen zu befürchten mit der neuen Einstellung?

from sepia-docs.

fquirin avatar fquirin commented on September 9, 2024

Hi Achim :-)

Um Daten von Sensoren via HTTP Request von meinem Gateway abzufragen (das auf einem anderen Raspi läuft und Gerätedaten kontinuierlich in eine SQL Datenbank speichert), benutze ich den sepia-mesh-nodes Server

Coole Idee 🙂👍

Ist in den Settings noch irgendwas zu berücksichtigen?
[...]
Gibt es irgendwas in SEPIA, das das Senden von Requests verhindert?

Ich bin gerade nicht sicher, ob die security sandbox auch HTTP requests beeinflusst 🤔, aber versuch mal in Settings/node.custom.properties den Wert zu setzen: use_sandbox_security_policy=false.
Ich prüfe währenddessen noch mal die Mesh-Node Einstellungen, ist ne Weile her, dass ich da rein geguckt habe ^^.

Es gibt übrigens in dem sepia.server.core.tools package auch die Klasse Connectors mit jede Menge nützlichen HTTP request Methoden wie z.B. apacheHttpGET, die das Plugin eventuell noch einfacher machen. Basic authentication kann in der Apache Methode z.B. über den Header gemacht werden.

from sepia-docs.

fquirin avatar fquirin commented on September 9, 2024

Ich habe mir den Code noch mal angeguckt und es kann sein dass die Klasse PasswordAuthentication durch den SecurityManager (und somit 'use_sandbox_security_policy') geblockt wird. Falls das tatsächlich der Fall ist sollte die Einstellung funktionieren, falls nicht versuch bitte mal die Authentifizierung über den Header:

String userpasswd = username + ":" + password;
String authData = Base64.getEncoder().encodeToString(userpasswd.getBytes());

Map<String, String> headers = Connectors.addAuthHeader(null, "Basic", authData);
headers.put("Accept", "application/json");

HttpClientResult res = Connectors.apacheHttpGET(myUrl, headers);

if (res.statusCode == 200){
    JSONObject myJson = JSON.parseStringOrFail(result.content);
}else{
    throw new RuntimeException("Failed to GET '" + myUrl + "' - response code: " + res.statusCode + " - Error: " + res.statusLine);
}

Ich hoffe der Code stimmt so, ich konnte es nicht live testen.

from sepia-docs.

fquirin avatar fquirin commented on September 9, 2024

Solange du alle Plugins selbst verwaltest, sollte es keine Probleme geben. Die Sandbox soll eigentlich nur verhindern, dass in den Plugins kein Unfug getrieben wird :-)

from sepia-docs.

bambby avatar bambby commented on September 9, 2024

Issue solved

from sepia-docs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.