Lifecycle eines session-cookie in einem Android WebView / CookieSyncManager

Ich habe ein Android-Anwendung, die Anfragen zu meinem webserver per WebView und ein HttpClient. Ich sync cookies zwischen den beiden mit einem CookieSyncManager. So weit, So gut.

Wenn meine Anwendung gestartet wird (innerhalb onResume()), ich Laufe ein Stück Logik, die der folgenden ähnelt:

if ( appHasBeenIdleFor30Minutes() ) {
     CookieManager cookieManager = CookieManager.getInstance();
     cookieManager.removeSessionCookie();
     CookieSyncManager.getInstance().sync();
}

Diese richtig setzt jeder session-cookies, die eingerichtet wurden, für den Nutzer der vorherigen Sitzung. Meine Frage ist: wird dieses Verhalten passiert in regelmäßigen Abständen auf seine eigene? Diese Frage (android webview oder browser nicht löschen von session-cookies auf dem Gerät neu zu starten) scheint nahe zu legen, dass es nicht. Wenn ich die cookie-sync würde HttpClient über einen Dienst, der es scheint, dass session-cookies werden nicht gelöscht, wodurch seltsame server-side-Verhalten.

Ich habe nicht in der Lage zu finden, die konkrete Dokumentation auf die Lebensdauer von session-cookies (Verfall-Zeit=0) innerhalb einer WebView/CookieSyncManager - hat jemand anderes mehr Glück hatte?

  • Ihre Frage und answerhelped mich, aber ich würde Ihnen vorschlagen, dass Sie expire cookies auf der server-Seite wegen der Sicherheit. Könnte jemand abfangen der cookie-Wert und auch du Sie verfallen auf dem client-Rechner gleichen Wert verwendet werden konnte, entführen Sie die Sitzung. Beachten Sie auch, dass Sie berücksichtigen sollten, ode an die Benutzer nicht vertrauenswürdig und könnten Sie dieses Verhalten ändern, indem Sie Ihre apk oder sogar mit so etwas wie Xposed framework.
InformationsquelleAutor gnmerritt | 2013-06-11
Schreibe einen Kommentar