0

Ich habe zwei Web-Anwendungen, eine auf Port 8001 läuft und ein anderer läuft auf 8002 und eine weitere eigenständige Auth-Anwendung läuft auf 8090.Authentifizierung Dienste der Anwendungsschicht erreichen gesichert

ich jede Anforderung zum ersten Pass wollen durch auth-application: 8090 und dann entscheidet diese, ob sie von der Web-Applikation 8001 oder von der Web-Applikation 8002 verarbeitet werden soll.

Es könnte mehrere Auth-Anwendungen geben, die entschieden werden können, indem ein Load-Balancer auf diese und mehrere Webanwendungscluster gesetzt wird und die Authentifizierungsanwendung den Webanwendungscluster zum Weiterleiten der Anforderung entscheidet.

Mit Bedeutung auf mehreren Web-Anwendung-Cluster, ich meine ein Cluster ist auf Java-Anwendung und ein weiterer Cluster ist auf Django Web-Anwendung komponiert. Ich möchte den Cluster basierend auf Request-Header oder Request-Parametern entscheiden.

Was ist der beste Weg, um dies zu erreichen?

Ich könnte daran denken, ein Skript in nginx proxy_pass Block verwendet werden, aber ich bin mir nicht sicher, wie dies funktionieren könnte oder auch wenn dies funktionieren würde. Es könnte eine bestehende Implementierung für dieses Problem geben; Könnte Google/Amazon diese Art von Architektur verwenden?

Antwort

0

Normalerweise Authentifizierungsablauf wird von der Anwendung initiiert (wie der Auth-Server wissen sollte, wohin Sie nach der erfolgreichen Authentifizierung gehen wollen?), So sollte der Fluss sein: 1. Benutzer erreicht App 2. App prüft, ob Benutzer 3. authentifiziert, wenn nicht, leitet Dienst auth 4. lässt Sie in (basierend auf dem Erfolg des auth)

die Nutzer sollten also wissen, vor allem, was app wollen sie (8001 oder 8002) . Wenn die beiden Apps identisch sind, ist es ein Loadbalancer, den Sie benötigen, aber der Auth-Flow muss immer noch von der App aus initiiert werden.

Verwandte Themen