def api_user_change(username): status = "success" answ = {"data": {}} try: reqdata = json.loads(request.data) try: user_d = reqdata["user"] except KeyError: raise cloud_api_main.WrongRequestException("dictionary defining new user properties missing") cloud_api_main.change_user(username, user_d) data = cloud_api_main.get_user(username) answ["data"]["user"] = data except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException, cloud_api_main.WrongRequestException) as e: status = "fail" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() except BaseException as e: status = "error" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.tdata.extended_error_log answ["status"] = status return make_response(jsonify(answ))
def api_user_add(): status = "success" answ = {"data": {}} try: reqdata = json.loads(request.data) try: username = reqdata.pop("name") password = reqdata.pop("password") isadmin = reqdata.get("isadmin", False) nebulauser = reqdata.get("nebulauser", None) except KeyError: raise cloud_api_main.WrongRequestException("name or password parameters missing") cloud_api_main.add_user(username,password,isadmin,nebulauser) data = cloud_api_main.get_user(username) answ["data"]["user"] = data.values() except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException, cloud_api_main.WrongRequestException) as e: status = "fail" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() except Exception as e: status = "error" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() answ["status"] = status return make_response(jsonify(answ))
def api_user_change(username): status = "success" answ = {"data": {}} try: reqdata = json.loads(request.data) try: user_d = reqdata["user"] except KeyError: raise cloud_api_main.WrongRequestException( "dictionary defining new user properties missing") cloud_api_main.change_user(username, user_d) data = cloud_api_main.get_user(username) answ["data"]["user"] = data except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException, cloud_api_main.WrongRequestException) as e: status = "fail" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() except BaseException as e: status = "error" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.tdata.extended_error_log answ["status"] = status return make_response(jsonify(answ))
def api_user_get(username): status = "success" answ = {"data": {}} try: data = cloud_api_main.get_user(username) answ["data"]["user"] = data except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException, cloud_api_main.WrongRequestException) as e: status = "fail" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() except BaseException as e: status = "error" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.tdata.extended_error_log answ["status"] = status return make_response(jsonify(answ))
def api_user_add(): status = "success" answ = {"data": {}} try: reqdata = json.loads(request.data) try: username = reqdata.pop("name") password = reqdata.pop("password") isadmin = reqdata.get("isadmin", False) nebulauser = reqdata.get("nebulauser", None) except KeyError: raise cloud_api_main.WrongRequestException( "name or password parameters missing") cloud_api_main.add_user(username, password, isadmin, nebulauser) data = cloud_api_main.get_user(username) answ["data"]["user"] = data.values() except (cloud_api_main.PrivilegeException, cloud_api_main.NoSuchObjectException, cloud_api_main.WrongRequestException) as e: status = "fail" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() except Exception as e: status = "error" answ["message"] = repr(e) answ["data"]["description"] = cloud_api_main.get_user_problem_msg() answ["status"] = status return make_response(jsonify(answ))
def verify_password(username, password): cloud_api_main.tdata.extended_error_log = [] cloud_api_main.tdata.user_info = [] cloud_api_main.tdata.DB_CON = cloud_api_main.open_db2() with cloud_api_main.tdata.DB_CON: try: res_d = cloud_api_main.get_user(username, verifybypass=True) except cloud_api_main.NoSuchObjectException as e: res_d = None if not res_d: return False cloud_api_main.tdata.username = username cloud_api_main.tdata.isadmin = res_d["isadmin"] cloud_api_main.tdata.userid = res_d["id"] cloud_api_main.tdata.ownertag = "owner:{0}".format(username) # derivedkey = hashlib.pbkdf2_hmac('sha256', password, res_d["salt"], 100000) # hexalified = binascii.hexlify(derivedkey) hexalified = hashlib.sha512(password + res_d["salt"]).hexdigest() return res_d["password"] == hexalified