Ich versuche, ein Cookie in meinem Browser mit einem Python Flask-Backend zu setzen, aber wenn wir die Set-Cookie-Funktion aufrufen, kann ich nicht beobachten, dass der Cookie vom Browser gespeichert wird. Im Folgenden ist mein gegenwärtiges Verständnis darüber, wie diese funktionieren soll:Cookies nicht im Browser gespeichert
- Cookies sind nur Schlüssel-Wert-Paare, die ein Ablauf haben können, die sie hartnäckig macht, sonst verfallen sie, wenn der Browser geschlossen wird
- a einzustellen cookie ist es notwendig, den set-cookie-Header in der Antwort zu verwenden. Ich rufe die Methode set_cookie des flask response-Objekts dazu auf.
- der Browser automatisch das Cookie speichern soll und die Ablaufregeln folgen
machen die Anfrage in Angular Httpclient
let headers = new Headers();
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers, withCredentials: true });
const request_data = {'username': this.username, 'password': this.password};
this.http.post('http://localhost:8080/token', request_data, options)
Einstellung (der set_cookie Header kann in der vom Browser empfangene Antwort beobachtet werden) das Cookie in Python Flask
g.response = make_response()
time = datetime.datetime.now() + datetime.timedelta(days=30)
g.response.set_cookie("auth_token", auth.token, expires=time)
return g.response
Plain Text Antwort im Browser
HTTP/1.1 200 OK
set-cookie: auth_token=7253f2fa43d7584741dcf8972dea8f; Expires=Fri, 05-Jan-2018 01:33:30 GMT; Path=/
vary: Origin
access-control-allow-credentials: true
access-control-allow-origin: http://127.0.0.1:4200
content-type: application/json
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Cache-Control: no-cache
Content-Length: 58
Server: Development/2.0
Date: Wed, 06 Dec 2017 01:33:30 GMT
Cookies Abschnitt des Browsers
Andere Gedanken & Beiträge erforscht:
- Versuchte in beide das gleiche Ergebnis sowohl Safari und Chrome und empfangen werden. Ich habe auch überprüft, dass Cookies vom Browser erlaubt sind.
- $http doesn't send cookie in Requests
- Cookie is not set in browser
- How do I SET a Cookie (header) with XMLHttpRequest in JavaScript?
Frage:
Wie erhalte ich die Cookies vom Browser gespeichert werden, so dass es in der aktuellen Sitzung verwendet werden kann?
Kennen Sie "localStorage" und "sessionStorage"? –
Hallo, ich möchte Session-Token hier speichern. Basierend auf dem, was ich online sehe, sind Cookies der sicherste Weg, dies zu tun. In einem Artikel, den ich verweise, heißt es: "Speichere niemals Zugriffstokens im lokalen Speicher, dieser Speicherbereich ist sehr anfällig für XSS-Angriffe" https://stormpath.com/blog/token-auth-spa. Bitte lassen Sie es mich wissen, wenn Sie denken, dass es einen anderen Weg gibt, der auch sicher ist. Vielen Dank! – Krejko