def METHOD_NAME(self):
    """
    Returns the access_token to use to access resources
    If necessary, this token will be refreshed
    """
    access_data = self.secrets_keeper.load(self.auth_flow_id)
    logging.getLogger(__name__).debug('Refresh and get access data')
    if 'refresh_token' not in access_data:
        raise NoOAuth2RefreshToken
    if 'instance_url' not in access_data:
        raise NoInstanceUrl
    client = OAuth2Session(
        client_id=self.config.client_id,
        client_secret=self.config.client_secret.get_secret_value(),
    )
    connection_data = client.refresh_token(
        self.token_url, refresh_token=access_data['refresh_token']
    )
    logging.getLogger(__name__).debug(
        f'Refresh and get access data new token {str(connection_data)}'
    )
    self.secrets_keeper.save(self.auth_flow_id, connection_data)
    secrets = self.secrets_keeper.load(self.auth_flow_id)
    logging.getLogger(__name__).debug('Refresh and get data finished')
    return secrets