#include "saml2/profile/SAML2AssertionPolicy.h"
#include <xmltooling/logging.h>
+#include <xmltooling/XMLToolingConfig.h>
#include <xmltooling/io/HTTPRequest.h>
using namespace opensaml::saml2;
logging::Category& log = logging::Category::getInstance(SAML_LOGCAT".SecurityPolicyRule.BearerConfirmation");
- const char* msg=NULL;
+ const char* msg="assertion is missing bearer SubjectConfirmation";
const Subject* subject = a->getSubject();
if (subject) {
const vector<SubjectConfirmation*>& confs = subject->getSubjectConfirmations();
}
}
- if (m_correlation && policy.getCorrelationID()) {
+ if (m_correlation && policy.getCorrelationID() && *(policy.getCorrelationID())) {
if (!XMLString::equals(policy.getCorrelationID(), data ? data->getInResponseTo() : NULL)) {
msg = "bearer confirmation failed with request correlation mismatch";
continue;
}
}
- log.error(msg);
+ log.error(msg ? msg : "no error message");
if (m_fatal)
throw SecurityPolicyException("Unable to locate satisfiable bearer SubjectConfirmation in assertion.");
return false;