Exemple #1
0
 def delete(self):
     args = self.parser['delete'].parse_args()
     if current_user.authorize(args['password']):
         user_store.delete_user(current_user)
         db.session.commit()
         logout_user()
         return {'Message': 'Account removed'}
     else:
         return errors.InvalidCredentials()
Exemple #2
0
    def put(self):
        args = self.parser['put'].parse_args()
        if args['new_password'] != args['confirm']:
            return errors.PasswordConfirmationInvalid()

        if current_user.authorize(args['password']):
            current_user.password = args['new_password']
            db.session.commit()
            return {'message': 'Password updated'}
        else:
            return errors.InvalidCredentials()
Exemple #3
0
def login(email, password, remember=False):
    user = user_store.find_user(email=email)
    if user is None or not user.authorize(password):
        return errors.InvalidCredentials()
    if not user.confirmed_at:
        return errors.UserConfirmationRequired()
    # If user issues new login after deactivation, reactivate their account
    if not user.active:
        user.active = True
        db.session.commit()
    login_user(user, remember=remember)
    return {'token': user.get_auth_token()}
 def put(self):
     args = self.parser['put'].parse_args()
     user = user_store.find_user(email=args['email'])
     if not user:
         return errors.InvalidCredentials()
     if not user.confirmed_at:
         msg = send_confirmation_email(user.email, name=user.profile.name)
         if msg.status_code not in [250]:
             return errors.CouldNotSendEmail()
         else:
             return {'message': 'New confirmation link sent'}
     else:
         return errors.UserAlreadyConfirmed()
Exemple #5
0
 def patch(self):
     args = self.parser['patch'].parse_args()
     user = user_store.find_user(email=args['email'])
     if user:
         if not user.confirmed_at:
             return errors.UserConfirmationRequired()
         msg = send_recovery_email(args['email'])
         if msg.status_code in [250]:
             return {'message': 'Recovery link sent'}
         else:
             return errors.CouldNotSendEmail()
     else:
         return errors.InvalidCredentials()
Exemple #6
0
def login(email: str, password: str) -> dict:
    """  Login with identity and credentials """
    app.logger.debug(f"Login user with email: {email}, password: {password}")
    user: User = user_store.find_user(email=email)
    app.logger.debug(f"Find user: {user}")

    if user is None or not user.authorize(password):
        app.logger.debug("Error: InvalidCredentials")

        return errors.InvalidCredentials()
    app.logger.debug("User in")

    token = generate_token(user)

    response: dict = {'token': token}
    app.logger.debug(f"Response: {response}")
    return response