def update_settings(self, updates, config=None):
    '''update client secrets will update the data structure for a particular
       authentication. This should only be used for a (quasi permanent) token
       or similar. The secrets file, if found, is updated and saved by default.

       Parameters
       ==========
       helper: the name of the helper to look up in the config
       updates: a dictionary of key:value pairs to add to the config
       config: a configparser.ConfigParser(), if already loaded

    '''
    if config is None:
        config = self._load_config_user()

    if self.name not in config:
        config[self.name] = {}

    config[self.name].update(updates)

    # Update the saved file

    configfile = get_configfile_user()
    write_config(configfile, config)
    return config