Wir arbeiten an einem RESTful Webservice mit AngularJS und Java Servlets. Wenn sich der Benutzer anmeldet, sendet unser Backend einen Header "Set-Cookie" an das Frontend. In Angular greifen wir über $cookies
(ngCookie - Modul) auf die Kopfzeile zu und stellen sie ein.
Jetzt, wo der Benutzer eingeloggt ist, kann er zum Beispiel einige Sachen löschen. Daher sendet das Frontend eine GET-Anfrage an das Backend. Weil wir auf verschiedene Domains arbeiten müssen wir einige CORS-Header setzen und Angular hat eine OPTIONS-Anforderung vor der eigentlichen GET-Anfrage:
OPTIONS Anfrage:
GET-Anfrage
Wir tun dies in Angular via $ http-Modul, aber es wird einfach nicht den Cookie senden, der JSESSIONID
enthält.
Wie kann ich Angular Cookies senden?
Dies und das Setzen der Backend-Header auf Allow-Credentials behoben das Problem! Vielen Dank! –
Nur um hinzuzufügen, bemerkte ich, als ich einen Anruf wie '$ http.get ('etwas', {withCredentials: true})' der Browser schickte die Cookies nicht. Die Verwendung des obigen Codes zum Hinzufügen von 'withCredentials' zu den Standardeinstellungen hat jedoch den Zweck erfüllt. Nicht sicher warum, aber hoffentlich hilft das, wenn jemand anderes über dieses Problem hinwegläuft. –
Das hat mein Leben ein wenig einfacher gemacht, danke. – Seiyria