Exemplo n.º 1
0
def login():
    try:
        payload = request.json
        email = payload["email"]
        pw = payload["password"].encode("utf-8")
        
        user = UserModel.getUserForEmail(email)
        if user is None:
            raise(UnauthorizedError)

        validated = user.login(pw)

        if validated:
            accessToken = create_access_token(identity = user.id)
            refreshToken = create_refresh_token(identity = user.id)
            response = jsonify({"success": True, "msg": "sucessfully logged in", "firstName": user.firstName})
            set_access_cookies(response, accessToken)
            set_refresh_cookies(response, refreshToken)
            return response, 200
        else:
            raise(UnauthorizedError)
    except UnauthorizedError:
        raise UnauthorizedError
    except Exception as e:
        raise InternalServerError(e)