def addFirstUser(userObj): try: #Set salt'n hashed password if 'password' in userObj: password = userObj['password'] #Do not store private user password del userObj['password'] userObj['salt'] = crypt_ops.get_a_bunch_of_salt() userObj['hashed_pwd'] = auth.get_hashed_password(password, userObj['salt']) #generate a base 64 uuid type 4 #http://stackoverflow.com/a/786541/1747721 userObj['userid'] = crypt_ops.get_base64_uuid4() #Save new user into "User" schema Users( name = userObj['name'], username = userObj['username'], salt = userObj['salt'], hashed_pwd = userObj['hashed_pwd'], priv_lev = userObj['priv_lev'], userid = userObj['userid'], email = userObj['email'], isdefault = userObj['is_default'], tokens = [] ).save() r_obj = exclude_fields(userObj) return r_obj except Exception as e: raise StandardError(e)
def create_token(userid): token_obj = { 'time': time.time(), 'userid': userid, 'uuid': crypt_ops.get_base64_uuid4() } json_token = str(json.dumps(token_obj)) token = base64.urlsafe_b64encode(json_token) return token
def addUser(userObj): try: if userObj['is_default']=="true" and not userObj['priv_lev'] == "2": return "err", "UNABLE_TO_STABLISH_DEFAULT_TO_NON_ADMIN" #Set salt'n hashed password if 'password' in userObj: password = userObj['password'] #Do not store private user password del userObj['password'] userObj['salt'] = crypt_ops.get_a_bunch_of_salt() userObj['hashed_pwd'] = auth.get_hashed_password(password, userObj['salt']) #generate a base 64 uuid type 4 #http://stackoverflow.com/a/786541/1747721 userObj['userid'] = crypt_ops.get_base64_uuid4() try: #Remove default from current user who has this token if userObj['is_default']=="true": remove_default_to = Users.objects(isdefault='true').update( set__isdefault = "false" ) except Exception as e: pass try: #Save new user into "User" schema Users( name = userObj['name'], username = userObj['username'], salt = userObj['salt'], hashed_pwd = userObj['hashed_pwd'], priv_lev = userObj['priv_lev'], userid = userObj['userid'], email = userObj['email'], isdefault = userObj['is_default'], tokens = [] ).save() return "ok", userObj except Exception as e: raise StandardError(e) except Exception as e: raise StandardError(e)