def _get_resolver_config(resolver_config_identifier): """ get the resolver config of a resolver identified by its config identifier helper to access the resolver configuration :param resolver_config_identifier: resolver config identifier as string :return: dict with the resolver configuration """ # identify the fully qualified resolver spec by all possible resolver # prefixes, which are taken from the resolver_classes list lookup_keys = [] config_keys = list(resolver_registry.keys()) for entry in config_keys: lookup_keys.append('linotp.' + entry) # we got the resolver prefix, now we can search in the config for # all resolver configuration entries resolver_config = {} config = context['Config'] for key, value in list(config.items()): if key.endswith(resolver_config_identifier): for entry in lookup_keys: if key.startswith(entry): resolver_config[key] = value return resolver_config
def _get_resolver_config(resolver_config_identifier): """ get the resolver config of a resolver identified by its config identifier helper to access the resolver configuration :param resolver_config_identifier: resolver config identifier as string :return: dict with the resolver configuration """ # identify the fully qualified resolver spec by all possible resolver # prefixes, which are taken from the resolver_classes list lookup_keys = [] config_keys = resolver_registry.keys() for entry in config_keys: lookup_keys.append('linotp.' + entry) # we got the resolver prefix, now we can search in the config for # all resolver configuration entries resolver_config = {} config = context['Config'] for key, value in config.items(): if key.endswith(resolver_config_identifier): for entry in lookup_keys: if key.startswith(entry): resolver_config[key] = value return resolver_config
def get_cls_identifier(config_identifier): """ Returns the class identifier string for a existing resolver identified by config_identifier (or None, if config_identifier doesn't exist) """ config = context.get('Config') cls_identifiers = list(resolver_registry.keys()) for config_entry in config: if not config_entry.endswith(config_identifier): continue for cls_identifier in cls_identifiers: if config_entry.startswith('linotp.' + cls_identifier): return cls_identifier return None
def get_cls_identifier(config_identifier): """ Returns the class identifier string for a existing resolver identified by config_identifier (or None, if config_identifier doesn't exist) """ config = context.get('Config') cls_identifiers = resolver_registry.keys() for config_entry in config: if not config_entry.endswith(config_identifier): continue for cls_identifier in cls_identifiers: if config_entry.startswith('linotp.' + cls_identifier): return cls_identifier return None
def similar_resolver_exists(config_identifier): """ Signifies if a resolver identified by config_identifer exists in the configuration. :remark: matches case insensitive :returns: bool """ config = context.get('Config') cls_identifiers = resolver_registry.keys() for config_entry in config: for cls_identifier in cls_identifiers: if config_entry.startswith('linotp.' + cls_identifier): __, __, entry_config_identifier = config_entry.rpartition('.') if entry_config_identifier.lower() == config_identifier.lower(): return True return False
def similar_resolver_exists(config_identifier): """ Signifies if a resolver identified by config_identifer exists in the configuration. :remark: matches case insensitive :returns: bool """ config = context.get('Config') cls_identifiers = list(resolver_registry.keys()) for config_entry in config: for cls_identifier in cls_identifiers: if config_entry.startswith('linotp.' + cls_identifier): __, __, entry_config_identifier = config_entry.rpartition('.') if entry_config_identifier.lower() == config_identifier.lower( ): return True return False