Ich arbeite an einer PhoneGap-App mit Serversitzungsnutzung. Für die Sitzung sind Cookies erforderlich. Darüber hinaus sollte auch das Cookie vom Load Balancer verarbeitet werden. Es führt also kein Weg vorbei. Wie gehen Sie mit Cookies in Ihrer PhoneGap-App um?
Ich habe bereits einige Nachforschungen angestellt:
- Einige sagen, dass die Behandlung von Cookies davon abhängen kann, dass der Server keine Cookies für unbekannte Benutzeragenten (IIS) setzt: PhoneGap-Sitzung (Cookies) unter iOS
- In JavaScript können Cookies mit document.cookie = ... gesetzt werden, sie werden jedoch nicht in PhoneGap gespeichert und gehen verloren. Vor dem Auslösen von xhr-Anfragen funktioniert es.
- Cookies können nach xhr-Anfrage mit xhr.getResponseHeader ('Set-Cookie') abgerufen werden. Aber nur wenn tatsächlich auf dem Server eingestellt. Leider entfernt jQuery den "Cookie" -Header.
- Die JavaScript-Eigenschaft document.cookie wird nach (xhr) -Anforderungen nicht zugewiesen und nicht aktualisiert.
- Einige schlagen den localStorage vor, um Sitzungs-IDs usw. zu speichern. Alle Skripte können jedoch darauf zugreifen, und dies kann ein XSS-Sicherheitsproblem sein. Cookies umgehen dieses Problem mithilfe des httponly-Flags.
- iOS: Es gibt einige Änderungen, die das WebView-Verhalten ändern, um Cookies zu unterstützen. Sie scheinen jedoch nicht mit iOS 6 und PhoneGap 2.5 zu funktionieren: https://groups.google.com/forum/?fromgroups=#!topic/phonegap/ZJE1nxX63ow
- Cookies scheinen in AppDelegate.m (v2.5) standardmäßig aktiviert zu sein.