Ik ben op dit moment in Django een webapp aan het ontwikkelen die vanaf het homescreen op de iPad moet worden gestart. Iedere gebruiker moet op zijn/haar iPad inloggen en de sessie moet een X aantal maanden geldig blijven. Het sluiten van de webapp en het herstarten van de iPad mogen geen invloed hebben op de sessie-duur. Ik heb dit eerder gedaan in PHP en die projecten werken sinds iOS8 prima.
Helaas werkt het bovengenoemde alleen goed op de desktop en de mobiele Safari. Het openen van de webapp via het homescreen laat het loginscherm zien, die ik vervolgens invoer. Als ik via de Safari debugger op de Mac kijk naar de cookie op de iPad, zie ik dat de cookie (op dit moment) tot 2017 geldig is. Daarmee concludeer ik dat de cookie-instellingen correct werken:
Als ik de sessie-data voor de session ID in de cookie opzoek, zie ik goede waardes voor en . Deze waardes, evenals de session ID, veranderen ook niet wanneer ik de webapp geforceerd afsluit en voor een tweede, derde of vierde keer inlog.
Het project heeft een eigen virtualenv, waarin de volgende packages geinstalleerd zijn:
Voor de webapps in PHP, volstond het om de expiratiedatum van de cookie in de toekomst te zetten. Helaas gaat die vlieger niet op voor Django. Is er iemand die dit probleem ook tegen is gekomen en heeft opgelost? Of heeft iemand nog een goede tip?
Helaas werkt het bovengenoemde alleen goed op de desktop en de mobiele Safari. Het openen van de webapp via het homescreen laat het loginscherm zien, die ik vervolgens invoer. Als ik via de Safari debugger op de Mac kijk naar de cookie op de iPad, zie ik dat de cookie (op dit moment) tot 2017 geldig is. Daarmee concludeer ik dat de cookie-instellingen correct werken:
Python:
1
2
3
| SESSION_SAVE_EVERY_REQUEST = True SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_AGE = 31556928 # one year |
Als ik de sessie-data voor de session ID in de cookie opzoek, zie ik goede waardes voor
_auth_user_id
_auth_user_hash
Het project heeft een eigen virtualenv, waarin de volgende packages geinstalleerd zijn:
Django (1.8.7) django-appconf (1.0.1) django-ckeditor (5.0.2) django-compressor (1.6) django-extensions (1.6.1) django-filer (0.9.12) django-flat-theme (1.1.3) django-hvad (1.4.0) django-mptt (0.8.0) django-multiselectfield (0.1.3) django-polymorphic (0.7.2) django-rosetta (0.7.8) djrill (2.0) docopt (0.4.0) easy-thumbnails (2.2) ecdsa (0.13) Fabric (1.10.2) feedparser (5.2.1) FeinCMS (1.11.4) mandrill (1.0.57) microsofttranslator (0.7) MySQL-python (1.2.5) paramiko (1.16.0) path.py (8.1.2) Pillow (2.6.1) pip (8.0.2) polib (1.0.7) pycrypto (2.6.1) pytz (2015.7) requests (2.9.1) setuptools (11.0) six (1.10.0) solid-i18n (1.1.1) Unidecode (0.4.18)
Voor de webapps in PHP, volstond het om de expiratiedatum van de cookie in de toekomst te zetten. Helaas gaat die vlieger niet op voor Django. Is er iemand die dit probleem ook tegen is gekomen en heeft opgelost? Of heeft iemand nog een goede tip?