aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/session.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/tools/session.py')
-rw-r--r--mediagoblin/tools/session.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mediagoblin/tools/session.py b/mediagoblin/tools/session.py
index fdc32523..d79afb66 100644
--- a/mediagoblin/tools/session.py
+++ b/mediagoblin/tools/session.py
@@ -21,6 +21,8 @@ import crypto
_log = logging.getLogger(__name__)
+MAX_AGE = 30 * 24 * 60 * 60
+
class Session(dict):
def __init__(self, *args, **kwargs):
self.send_new_cookie = False
@@ -64,5 +66,10 @@ class SessionManager(object):
elif not session:
response.delete_cookie(self.cookie_name)
else:
+ if session.get('stay_logged_in', False):
+ max_age = MAX_AGE
+ else:
+ max_age = None
+
response.set_cookie(self.cookie_name, self.signer.dumps(session),
- httponly=True)
+ max_age=max_age, httponly=True)