示例#1
0
def login_user():
    """ Allows users to log into their accounts"""
    try:
        with DatabaseConnection() as cursor:
            if not request.get_json():
                return make_response(
                    jsonify({"message": "Request should be json"}), 400)
            email = request.get_json()['email']
            password = request.get_json()['password']
            sql = "select user_id, email, password from users where email = %s and password = %s"
            cursor.execute(sql, (email, password))
            user_id = cursor.fetchone()
            if user_id:
                token = User.encode_auth_token(user_id)
                if token:
                    response = {
                        'user_id': user_id[0],
                        'message': 'You logged in successfully',
                        'token': token,
                        'email': email
                    }
                    return make_response(jsonify(response))
                return make_response(jsonify({"message": "Please log in"}))

            else:
                return make_response(
                    jsonify({"message":
                             "wrong password or email credentials"}))

    except Exception as e:
        logging.error(e)
        return make_response(jsonify({'message': str(e)}), 401)
示例#2
0
 def test_encode_auth_token(self):
     user = User(first_name='First Name',
                 last_name='Last Name',
                 email='*****@*****.**',
                 password='******')
     db.session.add(user)
     db.session.commit()
     auth_token = user.encode_auth_token(user.id)
     self.assertTrue(isinstance(auth_token, bytes))
示例#3
0
    def post(self):
        print("HEREEEEEEEEEEEEEEEEEEE") # DOESN'T PRINT. WHY?
        # get the post data
        post_data = request.get_json()
        # check if user already exists
        user = User.query.filter_by(email=post_data.get('email')).first()
        if not user:
            try:
                user = User(
		            first_name=post_data.get('first_name'),
		            last_name=post_data.get('last_name'),
                    email=post_data.get('email'),
                    password=post_data.get('password')
                )

                # insert the user
                db.session.add(user)
                db.session.commit()
                # generate the auth token
                auth_token = user.encode_auth_token(user.id)
                responseObject = {
                    'status': 'success',
                    'message': 'Successfully registered.',
                    'auth_token': auth_token.decode()
                }
                return make_response(jsonify(responseObject)), 201
            except Exception as e:
                responseObject = {
                    'status': 'fail',
                    'message': 'Some error occurred. Please try again.'
                }
                return make_response(jsonify(responseObject)), 401
        else:
            responseObject = {
                'status': 'fail',
                'message': 'User already exists. Please Log in.',
            }
            return make_response(jsonify(responseObject)), 202