Ejemplo n.º 1
0
    def _validate_basic_auth_credentials(self) -> bool:
        """
        Validates username:pwd if they are the same as
        stored credentials.

        Returns
        -------
        bool
            True if credentials has key login and
            credentials[login] equal SHA3(pwd), False
            otherwise.
        """
        login = self.username.lower()
        self.logger.log(
            logging.DEBUG, f'Validating credentials for user name "{login}"'
        )
        if login not in self.credentials:
            self.logger.log(logging.ERROR, f'User name "{self.username}" not found')
            return False

        hashed_pwd = hash_password(login, self.password)
        if self.credentials[login].lower() != hashed_pwd.lower():
            self.logger.log(
                logging.ERROR, f'Wrong password for user name "{self.username}"'
            )
            return False

        return True
Ejemplo n.º 2
0
def update_user(args, credentials):
    username = args.username.lower()
    logger.info(f'Updating username "{username}"')

    if username not in credentials:
        logger.error(f'Username "{username}" not found in passwords file. '
                     'Do you want to run "add" command instead?')
        return False

    password = args.password
    logger.info(f'Updating username "{username}" password  to "{password}"')
    credentials[username] = hash_password(username, password)
    return store_passwords_file(args.pwdfile, credentials)
Ejemplo n.º 3
0
def add_user(args, credentials):
    username = args.username.lower()
    logger.info(f'Adding username "{username}"')

    if username in credentials:
        logger.error(f'Can\'t add username {username} as it is already present'
                     ' in passwords file. Do you want to run the '
                     '"update" command instead?')
        return False

    password = args.password
    logger.info(f'Adding username "{username}" with password "{password}"...')
    credentials[username] = hash_password(username, password)

    if (store_passwords_file(args.pwdfile, credentials)):
        logger.info(f'Added username "{username}" with password "{password}"')
    else:
        logger.info(f'Could not add username "{username}" , '
                    f'password "{password}" to file')
Ejemplo n.º 4
0
def add_user(args, credentials):
    username = args["--username"].lower()

    if username in credentials:
        logger.error(
            f"Can't add username {username} as it is already present"
            " in passwords file. Do you want to run the "
            '"update" command instead?'
        )
        return False
        
    logger.info(f'Adding username "{username}"')
    password = args["--password"]
    logger.info(f'Adding username "{username}" with password "{password}"...')
    credentials[username] = hash_password(username, password)

    if store_passwords_file(args["--pwdfile"], credentials):
        logger.info(f'Added username "{username}" with password "{password}"')
    else:
        logger.info(
            f'Could not add username "{username}" , ' f'password "{password}" to file'
        )