Beispiel #1
0
 def is_user_registered(user):
     db = g.db_client[AppConfig.get_database_name()]
     users = db.users
     try:
         result = users.find_one({
             "username": user.username,
             "role": user.role
         })
         if result is not None:
             return True
         else:
             return False
     except ConnectionFailure as e:
         logging.error("db insert failed: " + str(e))
         return False
     return True
Beispiel #2
0
    def register(user):
        if UserServiceProviderRepositories.is_user_registered(user):
            logging.debug(
                'username [%s] with role [%s] already registered, cannot complete registration process'
                % (user.username, user.role))
            return False, None

        user.app_key = str(uuid.uuid4())
        user.app_secret = str(uuid.uuid4())
        db = g.db_client[AppConfig.get_database_name()]
        users = db.users
        try:
            result = users.insert_one(user.to_dict())
        except ConnectionFailure as e:
            logging.error("db insert failed: " + str(e))
            return False, None
        return True, user
Beispiel #3
0
    def register(user):
        if UserAdminRepositories.is_user_registered(user):
            logging.debug(
                'username [%s] with role [%s] already registered, cannot complete registration process'
                % (user.username, user.role))
            return False

        salt = bcrypt.gensalt()
        hashed = bcrypt.hashpw(user.password.encode('utf-8'), salt)
        user.salt = salt
        user.password = hashed
        db = g.db_client[AppConfig.get_database_name()]
        users = db.users

        try:
            result = users.insert_one(user.to_dict(with_password=True))
        except ConnectionFailure as e:
            logging.error("db insert failed: " + str(e))
            return False
        return True
Beispiel #4
0
 def match(user):
     db = g.db_client[AppConfig.get_database_name()]
     users = db.users
     try:
         result = users.find_one({
             "username": user.username,
             "role": user.role
         })
         if result is not None and bcrypt.checkpw(
                 user.password.encode('utf-8'), result['password']):
             logging.debug('username [%s] with role [%s] is verified' %
                           (user.username, user.role))
         else:
             logging.debug(
                 'username [%s] with role [%s] could not be verified' %
                 (user.username, user.role))
             return False
     except ConnectionFailure as e:
         logging.error("db insert failed: " + str(e))
         return False
     return True
Beispiel #5
0
 def match(user):
     db = g.db_client[AppConfig.get_database_name()]
     users = db.users
     try:
         result = users.find_one({
             "app_key": user.app_key,
             "app_secret": user.app_secret
         })
         if result is not None and result['app_key'] == user.app_key:
             logging.debug(
                 'username [%s] with app_key [%s] logged-in successfully' %
                 (result['username'], result['app_key']))
             return True, result
         else:
             logging.debug(
                 'app_key [%s] with app_secret [%s] could not be verified' %
                 (user.app_key, user.app_secret))
             return False, None
     except ConnectionFailure as e:
         logging.error("db insert failed: " + str(e))
         return False, None
     return False, None