2016-10-11 9 views
0

Ich habe zwei separate Webapps, die auf verschiedenen Computern ausgeführt werden. Sie erfordern beide, dass ein Benutzer authentifiziert wird, um auf bestimmte Teile der Site zuzugreifen. Ich würde es so machen, dass ein Link auf Site A zu Site B geht und den Benutzer automatisch anmeldet. SSO ist keine Option. Ich möchte das nicht in einer Umgebung/Maschine-Weise konfigurieren.Anmelden bei einer Website von einer anderen Website ohne Verwendung einer Datenbank

Also dann habe ich am Ende mit dem Logontoken-Mechanismus. Standort A schreibt ein Token (zusammen mit anderen Informationen) in die Datenbank und übergibt dieses Token an Standort B. Standort B sucht das Token und verwendet, falls gültig, die zusätzlichen Daten, um sich bei diesem Benutzer anzumelden.

Ich weine jetzt, wenn ein Mechanismus existiert, der dies erreicht, aber ohne eine Datenbank zu benötigen. Zum Beispiel könnten Sie den Benutzernamen und das Passwort in der HTTP-Anfrage an die Website senden. Wenn wir dazu Abfrageparameter in der URL hinzufügen, wäre sogar eine https-Umgebung unsicher, weil die URL an verschiedenen Netzwerkpunkten protokolliert werden könnte. Ich dachte jetzt darüber nach, einen https-Post mit den Zugangsdaten zu machen. Bin ich richtig davon ausgegangen, dass die Anfrage Körper (Post-Daten) kann nicht in einer https-Verbindung zwischen zwei Standorten geschnüffelt werden?

Wenn dies noch nicht sicher ist, was kann getan werden, um es zu sichern? Verschlüsseln Sie es mithilfe von MD5, und entschlüsseln Sie dann mit einem Schlüssel, der nur von den beiden Standorten bekannt ist (beide Seiten liegen unter meiner Kontrolle)?

Antwort

2

Ich denke, Sie sollten JWT verwenden, die ein JSON-Objekt mit Signatur und optional verschlüsselt ist. Es ist autark: Geben Sie einfach einen geheimen oder öffentlichen Schlüssel frei, und Sie können eine Identität weitergeben, ohne ein Drittanbietersystem zu verwenden.

Verwandte Themen