Die Bereitstellung auth-header mit SockJS

Ich habe eine Spring-MVC-server, bietet eine Reihe von REST-Endpunkten sowie eine websocket endpoint. Alles außer der login-endpoint-Authentifizierung erfordert. Ich bin mit der JWT zur Authentifizierung von Anfragen von den client.

Wenn der Benutzer sich anmeldet, ich fahre einen X-AUTH-TOKEN header, mit dem JWT token. Dieses token wird dann übergeben in die gleiche Kopfzeile auf jeder Anfrage an den server. Das alles funktioniert gut für den REST-Endpunkten, aber ich kann nicht herausfinden, wie dies zu tun auf der websocket.

Ich bin mit SockJS, und wenn ich öffnen Sie die Verbindung:

var socket = new SockJS('/socket/updates', null, {});

Dies bewirkt, dass einen GET-request an /socket/updates/Infos???t=xxx gibt einen 403 (wie alles erfordert auth ist Standard).

Idealerweise würde ich einfach meine X-AUTH-TOKEN header auf jedem XHR-Anfragen SockJS macht, aber ich sehe keine Möglichkeit, das hinzufügen von Headern Blick auf die API.

Schlimmsten Fall kann ich ändern, SockJS um dies zu tun, aber ich Frage mich, ob diese Funktionalität wurde bewusst weggelassen? Ich weiß, SockJS keine Unterstützung für cookies aus Sicherheitsgründen, aber das ist nicht das, was ich versuche zu tun.

Außerdem wegen eines test ich ließ das info-Endpunkt, um anonymen Zugriff, aber dann hat es 403 s auf einen Haufen anderer Endpunkte - es fühlt sich mehr elegant, einfach pass in die auth-details auf diese Anfragen als Sack Löcher in meine server-Sicherheit.

Jede Hilfe dankbar.

Cheers

InformationsquelleAutor L Morris | 2015-09-04
Schreibe einen Kommentar