Die Konfiguration der Authentifizierungs-Header für die WebSocket-Verbindung
IIUC, wenn ich ein WebSocket-ein HTTP-request an die angegebene URL gesendet, mit einer upgrade-Anfrage. Ist es arttypisch, pass-Authentifizierung Informationen, die zusammen mit diesem Antrag auf ein upgrade, oder sollte es getrennt durchgeführt werden?
var websocket = new WebSocket("ws://domain:port/foo"); //Can I include authentication headers with the initial upgrade HTTP request?
- es gibt keine Authentifizierung...
- Kannst du bitte klären. Sicherlich authentication Header gesendet werden kann, zusammen mit der upgrade-Anfrage - es wird eine HTTP-Anforderung.
- ich meinte abgebildet... eine http-url ist eine http-url. das heißt, es ist in der Regel etwas obliegt dem socket Paket zu fangen eingehende verbindungen, also die integration Optionen kann begrenzt werden, indem der socket-host, aber nicht http. Sie konnte etwas tun, Lust mit einer Weiterleitung an die Steckdose-sofern http-url am Ende.
- Ich sehe, so ist das WebSocket-API bietet keine direkte Möglichkeit zum konfigurieren der HTTP-Header gesendet, mit der Verbindungs-Anfrage?
- würden Sie brauchen, zu Graben, in die docs für das, was server-Seite websockets tool Sie verwenden, aber nicht Ihre Hoffnungen. das heißt, es ist wirklich einfach zu machen den client senden ein token durch die Steckdose selbst, und nicht geben Ihnen alle Daten, bis Sie es tun, und wenn Sie herunterfallen, wenn Sie zu lange dauern oder die schlecht machen Vermutungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die Authentifizierung über web, kehren Sie ein cookie, und dann eine Verbindung zum websocket-server wieder, die den cookie. Der WS-server überprüfen kann, ob das cookie
Wenn es keine cookie-basierende Authentifizierung oder es ist einfach nicht möglich (wie die WS-server in einer anderen Domäne), müssen Sie erstellen Sie Ihre eigene request-response-Nachrichten für den login.
Den Der WebSocket-standard RFC nicht definieren alle Protokoll-spezifischen client-Authentifizierung-Mechanismus aber erwähnt, dass die HTTP-Authentifizierung ist eine mögliche option:
Den standard für http-URLs schreibt vor, eine form die auch die Anmeldedaten in der URL. Die form ist
http://username:[email protected]/file
. Aber diese syntax wird nicht von allen Browsern unterstützt, weil, ehrlich gesagt, es war eine wirklich schlechte Idee.Die WebSocket-API nicht aussetzen alle Merkmale bestimmt, die für die HTTP-client-Authentifizierung. Das bedeutet, dass web-Browser werden soll die Authentifizierung der Art, wie Sie normalerweise tun: Mit der URL-syntax vor, wenn Sie sich entscheiden, Sie zu unterstützen, oder zeigt ein popup für den Benutzer, wo Sie geben Sie Ihre Anmeldedaten ein.