void receive(DDF& in, ostream& out);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "LogoutInitiator";
+ }
+#endif
+
private:
pair<bool,long> doRequest(
const Application& application, const char* requestURL, const char* entityID, HTTPResponse& httpResponse
ep->setBinding(m_login.m_protocol.get());
role.getSingleLogoutServices().push_back(ep);
}
+
+ const char* getType() const {
+ return m_login.getType();
+ }
#endif
private:
* @param log a logging object to use
*/
AssertionConsumerService(const xercesc::DOMElement* e, const char* appId, xmltooling::logging::Category& log);
+
+ /**
+ * Enforce address checking requirements.
+ *
+ * @param application reference to application receiving message
+ * @param httpRequest client request that initiated session
+ * @param issuedTo address for which security assertion was issued
+ */
+ void checkAddress(
+ const Application& application, const xmltooling::HTTPRequest& httpRequest, const char* issuedTo
+ ) const;
#ifndef SHIBSP_LITE
void generateMetadata(opensaml::saml2md::SPSSODescriptor& role, const char* handlerURL) const;
-
+
/**
* Implement protocol-specific handling of the incoming decoded message.
*
const XMLCh* authncontext_decl=NULL,
const std::vector<const opensaml::Assertion*>* tokens=NULL
) const;
+
+ public:
+ const char* getType() const {
+ return "AssertionConsumerService";
+ }
+
#endif
-
- /**
- * Enforce address checking requirements.
- *
- * @param application reference to application receiving message
- * @param httpRequest client request that initiated session
- * @param issuedTo address for which security assertion was issued
- */
- void checkAddress(
- const Application& application, const xmltooling::HTTPRequest& httpRequest, const char* issuedTo
- ) const;
-
private:
std::string processMessage(
const Application& application,
#ifndef SHIBSP_LITE
/**
- * Generates and/or modifies metadata reflecting the handler.
+ * Generates and/or modifies metadata reflecting the Handler.
*
* <p>The default implementation does nothing.
*
*/
virtual void generateMetadata(opensaml::saml2md::SPSSODescriptor& role, const char* handlerURL) const {
}
+
+ /**
+ * Returns the "type" of the Handler plugin.
+ *
+ * @return a Handler type
+ */
+ virtual const char* getType() const {
+ return getString("type").second;
+ }
#endif
};
virtual std::pair<bool,long> run(SPRequest& request, const char* entityID=NULL, bool isHandler=true) const=0;
std::pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
+
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "SessionInitiator";
+ }
+#endif
};
/** Registers SessionInitiator implementations. */
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "LogoutInitiator";
+ }
+#endif
+
private:
vector<Handler*> m_handlers;
};
void setParent(const PropertySet* parent);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "LogoutInitiator";
+ }
+#endif
+
private:
string m_appId;
};
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
void receive(DDF& in, ostream& out);
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "ArtifactResolutionService";
+ }
+#endif
+
private:
pair<bool,long> processMessage(const Application& application, HTTPRequest& httpRequest, HTTPResponse& httpResponse) const;
#ifndef SHIBSP_LITE
role.getSingleLogoutServices().push_back(ep);
role.addSupport(samlconstants::SAML20P_NS);
}
+
+ const char* getType() const {
+ return "SingleLogoutService";
+ }
#endif
private:
void receive(DDF& in, ostream& out);
pair<bool,long> run(SPRequest& request, bool isHandler=true) const;
+#ifndef SHIBSP_LITE
+ const char* getType() const {
+ return "LogoutInitiator";
+ }
+#endif
+
private:
pair<bool,long> doRequest(const Application& application, const char* requestURL, Session* session, HTTPResponse& httpResponse) const;
role.getManageNameIDServices().push_back(ep);
role.addSupport(samlconstants::SAML20P_NS);
}
+
+ const char* getType() const {
+ return "ManageNameIDService";
+ }
#endif
private: