#include <shibsp/SPConfig.h>
#include <shibsp/SPRequest.h>
#include <shibsp/handler/AssertionConsumerService.h>
-#include <shibsp/handler/LogoutHandler.h>
+#include <shibsp/handler/LogoutInitiator.h>
#include <shibsp/handler/SessionInitiator.h>
#include <xmltooling/logging.h>
#include <xmltooling/util/DateTime.h>
{
public:
ADFSSessionInitiator(const DOMElement* e, const char* appId)
- : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT".SessionInitiator.ADFS"), nullptr, &m_remapper), m_appId(appId), m_binding(WSFED_NS) {
+ : AbstractHandler(e, Category::getInstance(SHIBSP_LOGCAT".SessionInitiator.ADFS"), nullptr, &m_remapper), m_appId(appId), m_binding(WSFED_NS) {
// If Location isn't set, defer address registration until the setParent call.
pair<bool,const char*> loc = getString("Location");
if (loc.first) {
#endif
};
- class SHIBSP_DLLLOCAL ADFSLogoutInitiator : public AbstractHandler, public LogoutHandler
+ class SHIBSP_DLLLOCAL ADFSLogoutInitiator : public AbstractHandler, public LogoutInitiator
{
public:
ADFSLogoutInitiator(const DOMElement* e, const char* appId)
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
const XMLCh* getProtocolFamily() const {
return m_binding.get();
}
request.log(SPRequest::SPWarn, "invalid acsIndex property, using default ACS location");
}
if (!ACS) {
- const vector<const Handler*>& endpoints = app.getAssertionConsumerServicesByBinding(m_binding.get());
- if (endpoints.empty()) {
+ ACS = app.getAssertionConsumerServiceByBinding(WSFED_NS);
+ if (!ACS) {
m_log.error("unable to locate a compatible ACS");
throw ConfigurationException("Unable to locate an ADFS-compatible ACS in the configuration.");
}
- ACS = endpoints.front();
}
}