2017-07-19 4 views
5

Ich versuche, etwas vermeintlich einfach und leicht zu tun: ein Cookie! Aber der Browser (Chrome und Safari getestet) ignoriert sie einfach. Also die Antwort-Header wie folgt aussehen:Browser nicht Cookie-Antwort-Header zu halten

Access-Control-Allow-Credentials:true 
Access-Control-Allow-Origin:* 
Connection:keep-alive 
Content-Encoding:gzip 
Content-Type:application/json; charset=utf-8 
Date:Wed, 19 Jul 2017 04:51:51 GMT 
Server:nginx 
Set-Cookie:UserAuth=<some jwt>; Path=/; Domain=10.10.1.110; Expires=Wed, 19 Jul 2017 12:51:51 GMT; HttpOnly; Secure 
Transfer-Encoding:chunked 
Vary:Origin 

Die Anfrage tutwithCredentials=true umfassen. Aber der Abschnitt Cookies in Chrome ist leer. Ich habe versucht, die Domain vollständig zu entfernen, den Pfad zu entfernen, jede Konfiguration, die ich mir vorstellen kann, aber der Browser wird einfach nicht Ball spielen.

Was fehlt mir?

+0

Sie setzen ein Cookie mit 'Secure' Flag, das den Browser nur auf die Anwendung über verschlüsselte Verbindungen zurückgegeben werden sollte, dass das Cookie anweist. Erfüllt Ihre Verbindung diese zwingende Anforderung? –

+0

Ja, die Verbindung ist über https. –

+0

Wenn '' _Credentials = true' 'mit 'XMLHttpRequest'-Objekt für eine Kreuzursprungsanforderung verwendet wird, können Sie' * 'nicht für' Access-Control-Allow-Origin 'verwenden, um den Ursprung zuzulassen. Versuchen Sie, Kreuzursprungsdaten anzufordern? Möglicherweise versuchen Sie, den Domänennamen explizit zu "Access-Control-Allow-Origin" hinzuzufügen. –

Antwort

0

So stellt sich heraus, dass die ursprüngliche Anfrage ‚withCredentials = true‘ hatte als Request-Header und nicht auf dem XMLHttpRequest Config-Objekt festgelegt werden.

0

Ihr Cookie zeigt Httponly; Sicher;

den Httponly-Flag verwenden, wenn ein Cookie zu erzeugen hilft, das Risiko von Client-seitiges Script zur Milderung des geschützten Cookie Zugriff

Der Zweck des sicheren Flag Cookies zu verhindern, dass durch Unbefugte aufgrund der Übertragung einer beobachtet das Cookie im Klartext. Durch das Setzen des Secure-Flags verhindert der Browser die Übertragung eines Cookies über einen unverschlüsselten Kanal.

Cookies werden, wenn Reise über HTTP mit SSL-Flag in TLS-Schicht unterbrochen werden. Überprüfen Sie Ihre Präferenz und legen Sie die Konfiguration der Cookies entsprechend fest.

Verwandte Themen