Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bridging des Miniservers am LB für Token Auth #372

Open
christianTF opened this issue Jan 6, 2018 · 1 comment
Open

Bridging des Miniservers am LB für Token Auth #372

christianTF opened this issue Jan 6, 2018 · 1 comment

Comments

@christianTF
Copy link
Collaborator

christianTF commented Jan 6, 2018

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.
@mschlenstedt
Copy link
Owner

Gleich zusammen mit #201

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants