Example #1
0
 def decorated(*args, **kwargs):
     token = request.headers.get("Authorization", None)
     if not token:
         raise ValidationError(
             message="error",
             status_code=401,
             payload={"message": "No auth token"},
         )
     try:
         data = jwt.decode(token,
                           current_app.config["SECRET_KEY"],
                           algorithms=["HS256"])
         controller = UserController()
         user = controller.find_one(email=data.get("email"))
         if not user:
             raise ValidationError(
                 message="error",
                 status_code=401,
                 payload={"message": "Invalid token"},
             )
         request.user = user
     except Exception as error:
         raise ValidationError(
             message=str(error),
             status_code=401,
             payload={
                 "message": "AN error occurred when checking credential"
             },
         )
     return f(*args, **kwargs)
Example #2
0
 def decorated(*args, **kwargs):
     token = request.headers.get('Authorization', None)
     if not token:
         raise ValidationError(message='error',
                               status_code=401,
                               payload={'message': 'No auth token'})
     try:
         data = jwt.decode(token,
                           current_app.config['SECRET_KEY'],
                           algorithms=['HS256'])
         controller = UserController()
         user = controller.find_one(email=data.get('email'))
         if not user:
             raise ValidationError(message='error',
                                   status_code=401,
                                   payload={'message': 'Invalid token'})
         request.user = user
     except Exception as error:
         raise ValidationError(
             message=str(error),
             status_code=401,
             payload={
                 'message': 'AN error occurred when checking credential'
             })
     return f(*args, **kwargs)
Example #3
0
 def post(self):
     request_data = api.payload
     api.schema_model('User', {**user_login_schema}).validate(request_data)
     controller = UserController()
     user = controller.find_one(email=request_data.get('email'))
     if user and check_password_hash(user.password,
                                     request_data['password']):
         token = generate_token(user)
         return {'token': token, **user._asdict()}, 200
     raise ValidationError(message='error',
                           status_code=401,
                           payload={'message': 'Invalid credentials'})
Example #4
0
 def post(self):
     user = api.payload
     api.schema_model('User', {**user_schema}).validate(user)
     user['password'] = generate_password_hash(user['password'],
                                               method='sha256')
     controller = UserController()
     if not controller.find_one(email=user.get('email')):
         user = controller.insert(user)
         return user, 201
     raise ValidationError(
         message='error',
         status_code=400,
         payload={'message': 'User with email already exists'})
Example #5
0
 def post(self):
     request_data = api.payload
     api.schema_model("User", {**user_login_schema}).validate(request_data)
     controller = UserController()
     user = controller.find_one(email=request_data.get("email"))
     if user and check_password_hash(user.password,
                                     request_data["password"]):
         token = generate_token(user)
         return {"token": token, **user._asdict()}, 200
     raise ValidationError(
         message="error",
         status_code=401,
         payload={"message": "Invalid credentials"},
     )
Example #6
0
 def post(self):
     user = api.payload
     api.schema_model("User", {**user_schema}).validate(user)
     user["password"] = generate_password_hash(user["password"],
                                               method="sha256")
     controller = UserController()
     if not controller.find_one(email=user.get("email")):
         user = controller.insert(user)
         return user, 201
     raise ValidationError(
         message="error",
         status_code=400,
         payload={"message": "User with email already exists"},
     )