diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-04-05 17:25:40 +0300 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-04-05 17:25:40 +0300 |
| commit | 25419b3efd10d4d90c1c64c777aab31397c4f35d (patch) | |
| tree | 328c081860492b45d0bcd5ba200272b8559b23af /src/server/rz_user.py | |
| parent | b37ae7487f0b2351e6745beccbe94dbb5c192156 (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.py | 17 |
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(): |
