class XMLTOOL_API XMLObject;
};
-#ifndef SHIBSP_LITE
-namespace opensaml {
- namespace saml2 {
- class SAML_API Assertion;
- };
-};
-#endif
-
namespace shibsp {
class SHIBSP_API Attribute;
+ class SHIBSP_API SPRequest;
};
namespace shibresolver {
virtual ~ShibbolethResolver();
/**
- * Sets the calling service URI, making the Shibboleth SP responsible for
+ * Sets the calling service request, making the Shibboleth SP responsible for
* mapping the service to an Application instance.
*
- * @param uri identifies the service performing attribute resolution
+ * @param request identifies the service request performing attribute resolution
*/
- void setServiceURI(const char* uri);
+ void setRequest(const shibsp::SPRequest* request);
/**
* Sets the application ID to use for resolution, bypassing the mapping
void setIssuer(const char* issuer);
/**
- * Adds a SAML token as input to the resolver.
+ * Adds an XML token as input to the resolver, generally a SAML assertion.
* <p>The caller retains ownership of the object.
*
* @param token an input token to evaluate
*/
- void addToken(
-#ifdef SHIBSP_LITE
- const xmltooling::XMLObject* token
-#else
- const opensaml::saml2::Assertion* token
-#endif
- );
+ void addToken(const xmltooling::XMLObject* token);
/**
* Adds an Attribute as input to the resolver.
- * <p>The caller retains ownership of the object, but it MAY be modified
- * during the resolution process.
+ * <p>The caller retains ownership of the object.
*
* @param attr an input Attribute
*/
#else
unsigned long features = shibsp::SPConfig::OutOfProcess,
#endif
- const char* config = nullptr,
+ const char* config = NULL,
bool rethrow = false
);
static ShibbolethResolver* create();
protected:
- /** Service URI */
- std::string m_serviceURI;
+ /** Service request. */
+ const shibsp::SPRequest* m_request;
/** Application ID. */
std::string m_appID;
std::string m_issuer;
/** Input tokens. */
-#ifdef SHIBSP_LITE
std::vector<const xmltooling::XMLObject*> m_tokens;
-#else
- std::vector<const opensaml::saml2::Assertion*> m_tokens;
-#endif
+
/** Input attributes. */
std::vector<shibsp::Attribute*> m_inputAttributes;
private:
shibsp::ServiceProvider* m_sp;
- shibsp::RequestMapper* m_mapper;
- shibsp::RequestMapper::Settings m_settings;
std::vector<shibsp::Attribute*> m_resolvedAttributes;
};