basic-Authentifizierung für websockets
Wenn ich einen neuen websocket mit chrome
new WebSocket('ws://gert:[email protected]:8001/dbname')
Den nodejs-server erhält
GET /dbname HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: 127.0.0.1:8001
Origin: http://127.0.0.1:8000
Sec-WebSocket-Key1: ' 5 5) 4 1e a9 9 0 19
Sec-WebSocket-Key2: 3000909100 Q
Wie kann ich abrufen, gert und passwd?
- Ich hoffe, das sind nicht die wahren Benutzernamen und ein Passwort.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist, scheint chrome nicht passieren basic-auth-Daten in ws-Header in der Tat.
Warum nicht über login/Passwort als Teil der url-query-string? (und secure wss)
Chrome war nicht vorbei der authorization-header als Teil des upgrade-Anfrage. Das ergab die Authentifizierung scheitern.
Das Problem scheint behoben zu sein, die in den neuesten chromium Hier
Die
Authorization
- header wurde nicht erwähnt in die WebSocket-Spezifikation bis Hybi-13. Chrome implementiert, hybi-00 und hybi-10 (abhängig von der version von Chrome), so war es nicht eine Forderung der Umsetzung.Nun, dass es erwähnt in dem Protokoll, vielleicht wird Google es umsetzen, aber ich würde nicht garantieren, setzen Sie "user:pass@..." in der URI würde unbedingt die Art und Weise, es zu tun, es erfordert möglicherweise eine änderung der browser den WebSocket-API.
SSL
Fand ich diese link auf Quora.
Stimme ich dir zu, könnte die Verwendung von SSL und nur gesendet, werden diese Anmeldeinformationen als erste Nachricht.
- Buchse.io
Konnte man auch mit sockel.io, die auch über websockets transport zu tun autorisieren
Chrome cookies senden mit websocket-verbindungen. Wenn Sie ein session-cookie können Sie das session-cookie zur Identifizierung des Benutzers initiieren die websocket-Verbindung.