public:
virtual ~SecurityPolicyRule() {}
- /** Allows override of code for extracting saml2:Issuer and protocol information. */
- class SAML_API MessageExtractor {
- MAKE_NONCOPYABLE(MessageExtractor);
- public:
- MessageExtractor() {}
- virtual ~MessageExtractor() {}
-
- /**
- * Examines the message and/or its contents and extracts the issuer's claimed
- * identity along with a protocol identifier. Conventions may be needed
- * to properly encode non-SAML2 issuer information into a compatible form.
- *
- * <p>The caller is responsible for freeing the Issuer object.
- *
- * @param message message to examine
- * @return a pair consisting of a SAML 2.0 Issuer object and a protocol constant.
- * @throws std::bad_cast thrown if the message is not of an expected type
- */
- virtual std::pair<saml2::Issuer*,const XMLCh*> getIssuerAndProtocol(const xmltooling::XMLObject& message) const;
- };
-
/**
* Evaluates the rule against the given request and message. If an Issuer is
* returned, the caller is responsible for freeing the Issuer object.
const xmltooling::XMLObject& message,
const saml2md::MetadataProvider* metadataProvider,
const xmltooling::QName* role,
- const TrustEngine* trustEngine,
- const MessageExtractor& extractor
+ const TrustEngine* trustEngine
) const=0;
};