def sign_in(email, password): pwd = hashlib.sha512(password.encode('utf-8')) if database_helper.check_user(email, pwd.hexdigest()) is None: return json.dumps({"success": False, "message": "Wrong username or password."}) chars = string.digits + string.ascii_letters token = ''.join(random.choice(chars) for x in range(40)) database_helper.signin_user(token, email) return json.dumps({"success": True, "message": "Successfully signed in.", "data": token})
def get_message_with_email(email): response = {} if database_helper.check_user(email,'','exist'): messages = database_helper.get_messages(email) response['success'] = True response['message'] = 'User messages retrieved.' response['data'] = messages send_live_data() else: response['success'] = False response['message'] = 'No such user.' return response
def sign_in(): data = request.json email = data['email'] password = data['pwd'] check = database_helper.check_user(email, password) response = {} if check is True: response['success'] = True response['message'] = 'Successfully signed in.' token = generate_new_token() database_helper.store_new_token(email, token) response['data'] = token else: response['success'] = False response['message'] = 'Wrong username or password.' return json.dumps(response)
def sign_in(): username = request.json['email'] password = request.json['password'] username_2 = database_helper.get_email_by_email( username) #mail is no jsonified tok = database_helper.check_already_login(username) print("tok:", tok) if tok: # See if already logged in somewhere else database_helper.remove_user_token(tok) print("doubble inlog, one token removed") print("socket connections:", socket_connections) print(username_2[0] in socket_connections) if username_2[0] in socket_connections: ws = socket_connections[username_2[0]] ws.send('message') del socket_connections[username_2[0]] token = "" alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" print username for i in range(0, 36): rand = randint(0, len(alphabet) - 1) sign = alphabet[rand] token += sign result = database_helper.check_user(username, password, token) print "result; " + result if result != False: return jsonify({ "success": True, "message": 'succesfully signed in', "token": result }) else: return jsonify({ "success": False, "message": 'the user does not exist or wrong password' })
def change_password(): data = request.json token = data['token'] old_password = data['old_password'] new_password = data['new_password'] email = database_helper.get_email_by_token(token) response = {} if email is None: response['success'] = False response['message'] = 'You are not signed in.' else: if database_helper.check_user(email, old_password): salt = str(binascii.hexlify(os.urandom(16))) hnew_password = str(binascii.hexlify(hashlib.pbkdf2_hmac('sha256', str(new_password), salt, 100000))) database_helper.update_password(email, hnew_password, salt) response['success'] = True response['message'] = 'Password changed.' else: response['success'] = False response['message'] = 'Wrong password.' return json.dumps(response)
def post_message(): response = {} data = request.json email = database_helper.get_email_by_token(data['token']) if email is None: response['success'] = False response['message'] = 'You are not signed in.' else: message = data['message'] target_email = data['email'] if target_email == 'own': target_email = email if database_helper.check_user(target_email,'','exist'): database_helper.post_message(email, target_email,message) response['success'] = True response['message'] = 'Message posted' send_live_data() else: response['success'] = False response['message'] = 'No such user.' return json.dumps(response)
def sign_up(): data = request.json email = data['email'] password = data['password'] firstname = data['firstname'] familyname = data['familyname'] gender = data['gender'] city = data['city'] country = data['country'] response = {} if database_helper.check_user(email, '','exist') is False: infos = [] infos.append(email) # hash password salt = str(binascii.hexlify(os.urandom(16))) hpassword = str(binascii.hexlify(hashlib.pbkdf2_hmac('sha256', str(password), salt, 100000))) infos.append(hpassword) infos.append(salt) infos.append(firstname) infos.append(familyname) infos.append(gender) infos.append(city) infos.append(country) token = generate_new_token() database_helper.insert_user(infos) database_helper.store_new_token(email, token) response['success'] = True response['message'] = 'Successfully created a new user.' response['data'] = token else: response['success'] = False response['message'] = 'User already exists.' return json.dumps(response)