ich HttpOnly
Cookies verwenden möchten, und ich stellte es in Java wie folgt:Httponly-Cookies nicht auf Anfrage gesendet
...
Cookie accessTokenCookie = new Cookie("token", userToken);
accessTokenCookie.setHttpOnly(true);
accessTokenCookie.setSecure(true);
accessTokenCookie.setPath("/");
response.addCookie(accessTokenCookie);
Cookie refreshTokenCookie = new Cookie("refreshToken", refreshToken);
refreshTokenCookie.setHttpOnly(true);
refreshTokenCookie.setSecure(true);
refreshTokenCookie.setPath("/");
response.addCookie(refreshTokenCookie);
...
ich der Client-Seite die Antwort mit den Cookies bekam, aber wenn ich die nächste Anfrage sende ich Ich habe keine Cookies auf Anfrage. Vielleicht vermisse ich etwas, aber wie ich verstanden habe, müssen diese HttpOnly
Cookies vom Browser bei jeder Anfrage (JavaScript hat keinen Zugriff auf diese Cookies) zurück an den definierten Pfad gesendet werden.
Ich habe folgende Anfrage Header:
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8,hu;q=0.6,ro;q=0.4,fr;q=0.2,de;q=0.2
Authorization:Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Connection:keep-alive
Content-Length:35
content-type:text/plain
Host:localhost:8080
Origin:http://localhost:4200
Referer:http://localhost:4200/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36
X-Requested-With:XMLHttpRequest
und folgende Antwort-Header:
Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:4200
Access-Control-Expose-Headers:Access-Control-Allow-Origin, Content-Type, Date, Link, Server, X-Application-Context, X-Total-Count
Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Content-Length:482
Content-Type:application/json;charset=ISO-8859-1
Date:Fri, 03 Feb 2017 13:11:29 GMT
Expires:0
Pragma:no-cache
Set-Cookie:token=eyJhbGciO;Max-Age=10000;path=/;Secure;HttpOnly
Set-Cookie:refreshToken=eyJhb8w;Max-Age=10000;path=/;Secure;HttpOnly
Vary:Origin
Auch in der Client-Seite verwende ich withCredentials: true
in Angular2 und X-Requested-With:XMLHttpRequest
als Request-Header.
Und es ist Cross Domain.
Hallo !! Ich habe ein ähnliches Problem gehabt. Wenn ich HTTP-Flag nur entfernt, funktioniert es. Hast du irgendeine andere Arbeit gefunden? –
Durch Entfernen der Secure-Flagge von Cookies, das Problem gelöst –
Vielen Dank !! Es funktioniert –