Wie mache ich eine zustandslose (sitzungslose) und cookielose Authentifizierung?

Bob nutzt eine Webanwendung, um etwas zu erreichen. Und:

Sein Browser ist auf Diät, daher unterstützt er nichtKekse.Die Webanwendung ist sehr beliebt, sie beschäftigt sich mit einer Vielzahl von Benutzern zu einem bestimmten Zeitpunkt - sie mussRahmen Gut. Solange die Sitzung aufrechterhalten würdeeine Begrenzung der Anzahl gleichzeitiger Verbindungen, und natürlich wird eine nicht zu vernachlässigende bringenLeistungsstrafe, wir möchten vielleicht ein sitzungsloses System haben :)

Einige wichtige Hinweise:

wir habenTransportsicherheit (HTTPS und seine besten Freunde);Hinter den Kulissen delegiert die Webanwendung viele Vorgänge anexterne Diensteauf Stromim Namen des Benutzers (Diese Systeme erkennen Bob als einen ihrer Benutzer) - das bedeutet, dassWir müssen ihnen Bobs Zeugnisse übermitteln.

Wie authentifizieren wir Bob (bei jeder Anfrage)? Was wäre ein vernünftiger Weg, um so etwas zu implementieren?

spielenTennis mit den Anmeldeinformationen überHTML-Formular ausgeblendete Felder... dasBall enthält die Anmeldeinformationen (Benutzername Passwort) und daszwei Schläger sind der Browser bzw. die Webanwendung. Mit anderen Worten, wir können Daten über Formularfelder anstatt über Cookies hin und her transportieren. Bei jeder Webanforderung sendet der Browser die Anmeldeinformationen. Im Fall von aeinseitige AnwendungDas könnte so aussehen, als würde man spielenquetschen gegen eine Gummiwand, anstatt zu spielenTennis, als dieWeb-Formular Die Berechtigungsnachweise werden möglicherweise während der gesamten Lebensdauer des Computers am Leben erhaltenWebsite (und der Server wird so konfiguriert, dass die Anmeldeinformationen nicht zurückgegeben werden).Speichern des Benutzernamens und des Passworts im Kontext der Seite - JavaScript-Variablen usw. Einzelseite hier erforderlich, IMHO.verschlüsselte tokenbasierte Authentifizierung. In diesem Fall würde die Anmeldeaktion zur Erzeugung eines verschlüsselten Sicherheitstokens (Benutzername + Passwort + etwas anderes) führen. Dieses Token wird dem Kunden zurückgesandt und die anstehenden Anfragen werden vom Token begleitet. Macht das Sinn? Wir haben bereits HTTPS ...Andere...letzter Ausweg: Tun Sie dies nicht, speichern Sie Anmeldeinformationen in der Sitzung! Die Sitzung ist gut. Mit oder ohne Cookies.

Denken Sie an irgendwelche Web- / Sicherheitsbedenken in Bezug auf eine der zuvor beschriebenen Ideen? Zum Beispiel,

Auszeit - Wir können eine behaltenZeitstempelzusammen mit den Anmeldeinformationen (Zeitstempel = die Zeit, zu der Bob seine Anmeldeinformationen eingegeben hat). Z.B. wannJETZT - Zeitstempel> SchwelleWir können die Anfrage ablehnen.Cross-Site-Scripting Schutz - sollte in keiner Weise anders sein, oder?

Vielen Dank, dass Sie sich die Zeit genommen haben, dies zu lesen :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage