import org.opensaml.SAMLResponse;
/**
+ * Defines the processing for an IdP-supported protocol. A particular <code>IdPProtocolHandler</code> implementation
+ * is registered to process requests delivered from one or more endpoints. Core IdP functionality is delivered through
+ * the <code>IdPProtocolSupport</code> class.
+ *
* @author Walter Hoehn
*/
public interface IdPProtocolHandler {
- // TODO add javadoc
+ /**
+ * Retreives a textual name for the handler for display purposes.
+ */
public String getHandlerName();
+ /**
+ * Runs the protocol-specific request processing.
+ *
+ * @param samlRequest
+ * the request that inititiated the transaction or null
+ * @param support
+ * @return a <code>SAMLResponse</code> object that should be delivered to the binding upon which the request was
+ * received or null
+ */
public SAMLResponse processRequest(HttpServletRequest request, HttpServletResponse response,
SAMLRequest samlRequest, IdPProtocolSupport support) throws SAMLException, IOException, ServletException;
}
\ No newline at end of file
import edu.internet2.middleware.shibboleth.metadata.SPSSODescriptor;
/**
+ * Delivers core IdP functionality (Attribute resolution, ARP filtering, Metadata lookup, Signing, Mapping between local &
+ * SAML identifiers, etc.) to components that process protocol-specific requests.
+ *
* @author Walter Hoehn
*/
public class IdPProtocolSupport implements Metadata {
- private static Logger log = Logger.getLogger(IdPProtocolSupport.class.getName());
- private Logger transactionLog;
- private IdPConfig config;
- private ArrayList fedMetadata = new ArrayList();
- private NameMapper nameMapper;
- private ServiceProviderMapper spMapper;
- private ArpEngine arpEngine;
- private AttributeResolver resolver;
+ private static Logger log = Logger.getLogger(IdPProtocolSupport.class.getName());
+ private Logger transactionLog;
+ private IdPConfig config;
+ private ArrayList fedMetadata = new ArrayList();
+ private NameMapper nameMapper;
+ private ServiceProviderMapper spMapper;
+ private ArpEngine arpEngine;
+ private AttributeResolver resolver;
IdPProtocolSupport(IdPConfig config, Logger transactionLog, NameMapper nameMapper, ServiceProviderMapper spMapper,
ArpEngine arpEngine, AttributeResolver resolver) {