linotp.lib.resolver module¶
resolver objects and processing
- linotp.lib.resolver.closeResolvers()¶
hook to close the resolvers at the end of the request
- linotp.lib.resolver.defineResolver(params)¶
set up a new resolver from request parameters
the setup of the resolver includes the loading of the resolver config. this is required to allow the resolver to check if all required parameters are available.
As the resolver (for historical reasons) has access to the overall LinOTP config, we have to prepare the resolver definition, which is done by the Resolver() class. Thus during the defineResolver, we have first to merge the LinOTP config with the new resolver config (from the params) and if the loading of the config went well, we will do the saving of the resolver.
- Parameters:
params – dict of request parameters
- linotp.lib.resolver.deleteResolver(resolvername)¶
delete a resolver and all related config entries
- Paramm resolvername:
the name of the to be deleted resolver
- Returns:
sucess or fail
- Return type:
boolean
- linotp.lib.resolver.getResolverInfo(resolvername, passwords=False)¶
return the resolver info of the given resolvername
- Parameters:
resolvername (string) – the requested resolver
:return : dict of resolver description
- linotp.lib.resolver.getResolverList(filter_resolver_type=None, config=None)¶
Gets the list of configured resolvers
- Parameters:
filter_resolver_type (string) – Only resolvers of the given type are returned
- Return type:
Dictionary of the resolvers and their configuration
- linotp.lib.resolver.getResolverObject(resolver_spec, config=None, load_config=True)¶
get the resolver instance from a resolver specification.
- Remark:
internally this function uses the request context for caching.
- Parameters:
resolver_spec –
the resolver string as from the token including the config identifier.
format: <resolver class identifier>.<config identifier>
- Returns:
instance of the resolver with the loaded config (or None if specification was invalid or didn’t match a resolver)
- linotp.lib.resolver.initResolvers()¶
- hook for the request start -
create a deep copy of the dict with the global resolver classes
- linotp.lib.resolver.parse_resolver_spec(resolver_spec)¶
expects a resolver specification and returns a tuple containing the resolver class identifier and the config identifier
- Parameters:
resolver_spec –
a resolver specification
format: <resolver class identifier>.<config identifier>
- Returns:
(cls_identifier, config_identifier)
- linotp.lib.resolver.setupResolvers(config=None, cache_dir='/tmp')¶
hook at the server start to initialize the resolvers classes - the resolver class setup should only be called once
- Parameters:
config – the linotp config
cache_dir – the cache directory, which could be used in each resolver
- Returns:
-nothing-