summaryrefslogtreecommitdiff
path: root/src/server/rz_user.py
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-04-05 17:25:40 +0300
committerLV-426 <lv-426@taproot.org.il>2015-04-05 17:25:40 +0300
commit25419b3efd10d4d90c1c64c777aab31397c4f35d (patch)
tree328c081860492b45d0bcd5ba200272b8559b23af /src/server/rz_user.py
parentb37ae7487f0b2351e6745beccbe94dbb5c192156 (diff)
rest__logout: redirect on GET, invalidate cookie on GET/POST
Diffstat (limited to 'src/server/rz_user.py')
-rw-r--r--src/server/rz_user.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/server/rz_user.py b/src/server/rz_user.py
index 4eac4db3..44540f75 100644
--- a/src/server/rz_user.py
+++ b/src/server/rz_user.py
@@ -2,18 +2,16 @@ from datetime import datetime
from datetime import timedelta
from flask import current_app
from flask import redirect
+from flask import make_response
from flask import render_template
from flask import request
from flask import session
from flask import url_for
-import flask
-import json
import logging
import re
import uuid
from crypt_util import hash_pw
-import crypt_util
from rz_mail import send_email_message
from rz_req_handling import make_response__json, make_response__json__html
from rz_user_db import User_Account
@@ -164,8 +162,19 @@ def rest__logout():
"""
# remove the username from the session if it's there
u = session.pop('username', None)
+
+ assert None != u # assert user session was found - note: /logout is login protected
+
log.debug('logout: success: user: %s' % (u))
- return redirect(url_for('login'))
+
+ # redirect on GET, invalidate cookie on GET/POST
+ if request.method == 'GET':
+ resp = make_response(redirect(url_for('login')))
+ if request.method == 'POST':
+ resp = make_response__json()
+
+ resp.set_cookie(key='session', value='', expires=0) # UNIX timestamp 0
+ return resp
def rest__pw_reset():