Loxberry icon indicating copy to clipboard operation
Loxberry copied to clipboard

Bridging des Miniservers am LB für Token Auth

Open christianTF opened this issue 7 years ago • 1 comments

Dabei geht es erstmal nicht um Websockets, sondern um REST mit Token Auth für eine verschlüsselte LB->MS Kommunikation.

Alles ist für Benutzer transparent. Plugin-Entwickler müssen kleine Modifikationen vornehmen.

Es sind drei Teile nötig:

Lighty

  • Für jeden angelegten MS gibt es einen (zufälligen) Port mit Website. Der Port wird zum MS in die general.cfg geschrieben.
  • Nur lokale Verbindungen sind erlaubt.
  • Alle Verbindungen müssen angenommen werden, egal ob anonym oder mit falschen! Credentials (es kommen evt. die MS-Credentials)
  • Alles, egal welche URL, muss an ein PHP-Script gehen.
  • Die verwendete URL mit Parametern muss das Script bekommen.

PHP-Script

  • PHP deswegen, weil es schneller ist als der Perl-CGI-Interpreter.
  • Aus get_miniservers werden die Credentials gelesen.
  • Das Script holt einen Token und speichert diesen.
  • Das Script schickt den nun verschlüsselten Request 1:1 an den jeweiligen Miniserver
  • Ist beim Request Der Token abgelaufen , wird ein neuer bezogen.
  • Unterstützt der MS keine Token-Auth, wird ohne weitergemacht.

Module

  • get_miniservers liefert den virtuellen Host und Port zurück, wo Plugins hinverbinden müssen.

Für Plugin-Entwickler ist die Änderung folgende:

  • Sie holen die Miniserver-Infos per get_miniserver.
  • Für die Verbindung werden einfach Host und Port durch neue Variablen ersetzt.
  • Die URL selbst bleibt gleich, also praktisch keine Änderung am Plugin und die Verbindung ist dann verschlüsselt.

christianTF avatar Jan 06 '18 18:01 christianTF

Gleich zusammen mit #201

mschlenstedt avatar Jan 01 '20 08:01 mschlenstedt