Loxberry
Loxberry copied to clipboard
Bridging des Miniservers am LB für Token Auth
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.
Gleich zusammen mit #201