Set-Cookie im HTTP-Header wird bei AngularJS ignoriert

Ich arbeite an einer Anwendung, die auf AngularJS auf Clientseite und Java für meine API (Tomcat + Jersey für WS) auf Serverseite basiert.

Einige Pfade meiner API sind eingeschränkt, wenn der Benutzer keine Sitzung hat, wird der Antwortstatus 401 zurückgegeben. Auf der Clientseite wird der HTTP-Status 401 abgefangen, um den Benutzer zur Anmeldeseite umzuleiten.

Sobald der Benutzer authentifiziert ist, erstelle ich eine Sitzung auf der Serverseite

httpRequest.getSession(true);
und die an den Client gesendete Antwort enthält die Set-Cookie-Anweisung im Header:

Set-Cookie:JSESSIONID=XXXXXXXXXXXXXXXXXXXXX; Domain=localhost; Path=/api/; HttpOnly

Das Problem ist, dass der Cookie niemals auf der Client-Seite abgelegt wird. Wenn ich ein Cookie auf eine localhost-Domain überprüfe, ist es leer, sodass die nächsten Anforderungen dieses Cookie nicht im Header haben und die Clientseite immer noch nicht auf den eingeschränkten Pfad meiner API zugreifen kann.

Der Client und der Server befinden sich in derselben Domäne, haben jedoch nicht denselben Pfad und dieselbe Portnummer:

Klient :http://localhost:8000/app/index.html

Server:http://localhost:8080/api/restricted/

Zusätzliche Informationen: CORS ist auf beiden Seiten aktiviert:

"Access-Control-Allow-Methods", "GET, POST, OPTIONS"
"Access-Control-Allow-Origin", "*"
"Access-Control-Allow-Credentials", true

Irgendeine Idee, wie der Set-Cookie richtig funktioniert? Handelt es sich um ein AngularJS-Problem?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage