Example #1
0
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})
Example #2
0
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
Example #3
0
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)
Example #4
0
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'
        })
Example #5
0
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)     
Example #6
0
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) 
Example #7
0
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)