summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-02-23 14:52:46 +0200
committerLV-426 <lv-426@taproot.org.il>2015-02-23 15:07:53 +0200
commitc1fa9b6cd84340ae37bbc543c40a7566b14f5fe9 (patch)
treeb01343a0c8303b153894c0ab699bd4a34609279d /src/server
parent816e4e8717348736d39aaff03757bd067f0a2694 (diff)
rz_user.py: util code
Diffstat (limited to 'src/server')
-rw-r--r--src/server/rz_user.py44
1 files changed, 30 insertions, 14 deletions
diff --git a/src/server/rz_user.py b/src/server/rz_user.py
index 9092f158..6c649273 100644
--- a/src/server/rz_user.py
+++ b/src/server/rz_user.py
@@ -48,16 +48,11 @@ class User_Signup_Request(dict):
return dt > dt_6h
class User_Pw_Reset_Request(object): # extend from object as these won't be serialized
-def filter_expired_requests(us_req_map):
def __init__(self, u_account, pw_reset_token):
self.u_account = u_account
self.submission_date = None
self.pw_reset_tok = pw_reset_token
- for su_req_email, su_req in us_req_map.items():
- if su_req.has_expired():
- log.info('user sign-up request expired: %s' % (su_req))
- del us_req_map[su_req_email]
def __str__(self):
return 'email_address: %s' % (self.email_address)
@@ -67,11 +62,6 @@ def filter_expired_requests(us_req_map):
dt_6h = timedelta(hours=6)
dt = self.submission_date - date_now
return dt > dt_6h
-def generate_security_token():
- """
- generate a random UUID based string ID
- """
- return str(uuid.uuid4()).replace('-', '')
def activate_user_account(us_req):
@@ -86,10 +76,8 @@ def activate_user_account(us_req):
if None != existing_account:
raise Exception('account activation code reused: existing-account: %s' % (existing_account.email_address))
- # calc pw hash
pw_plaintxt = us_req['pw_plaintxt']
- salt = current_app.rz_config.secret_key
- pw_hash = hash_pw(str(pw_plaintxt), salt)
+ pw_hash = calc_user_pw_hash(pw_plaintxt)
u_account = User_Account(first_name=us_req['first_name'],
last_name=us_req['last_name'],
@@ -102,6 +90,34 @@ def activate_user_account(us_req):
log.info('user account activated: email: %s, rz_username: %s' % (us_req['email_address'], us_req['rz_username']))
+def calc_user_pw_hash(plaintxt_pw):
+ """
+ calc password hash
+ """
+ salt = current_app.rz_config.secret_key
+ pw_hash = hash_pw(str(plaintxt_pw), salt)
+ return pw_hash
+
+def filter_expired__singup_requests(us_req_map):
+
+ for su_req_email, su_req in us_req_map.items():
+ if su_req.has_expired():
+ log.info('user sign-up request expired: %s' % (su_req))
+ del us_req_map[su_req_email]
+
+def filter_expired__pw_rst_requests(pw_rst_req_map):
+
+ for pw_rst_tok, pw_rst_req in pw_rst_req_map.items():
+ if pw_rst_req.has_expired():
+ log.info('user pw reset request expired: %s' % (pw_rst_req))
+ del pw_rst_req_map[pw_rst_tok]
+
+def generate_security_token():
+ """
+ generate a random UUID based string ID
+ """
+ return str(uuid.uuid4()).replace('-', '')
+
def rest__login():
def sanitize_input(req):
@@ -211,7 +227,7 @@ def rest__user_signup():
# use incoming request as house keeping trigger
us_req_map = get_or_init_usreq_map()
- filter_expired_requests(us_req_map)
+ filter_expired__singup_requests(us_req_map)
if request.method == 'POST':
# FIXME: add captcha