def login_init(request, resource, **kwargs): """ Initiates an IdP-initiated link to a simple SP resource/target URL. """ sp_config = metadata.get_config_for_resource(resource) proc_path = sp_config['processor'] proc = registry.get_processor(proc_path) try: linkdict = dict(metadata.get_links(sp_config)) pattern = linkdict[resource] except KeyError: raise ImproperlyConfigured('Cannot find link resource in SAML2IDP_REMOTE setting: "%s"' % resource) is_simple_link = ('/' not in resource) if is_simple_link: simple_target = kwargs['target'] url = pattern % simple_target else: url = pattern % kwargs proc.init_deep_link(request, sp_config, url) return _generate_response(request, proc)