SAMLResponse* response = NULL;
bool authenticated = false;
+ static const XMLCh https[] = {chLatin_h, chLatin_t, chLatin_t, chLatin_p, chLatin_s, chColon, chNull};
// Depends on type of artifact.
const SAMLArtifactType0001* type1=dynamic_cast<const SAMLArtifactType0001*>(artifact);
log.warn("skipping binding on unsupported protocol (%s)", prot.get());
continue;
}
- auto_ptr_char loc(ep->getLocation());
try {
response = binding->send(ep->getLocation(),*request,&callCtx);
if (log.isDebugEnabled())
delete response;
throw FatalProfileException("No SAML assertions returned in response to artifact profile request.");
}
- authenticated = callCtx.isAuthenticated();
+ authenticated = callCtx.isAuthenticated() && !XMLString::compareNString(ep->getLocation(),https,6);
}
catch (SAMLException& ex) {
annotateException(&ex,idp); // rethrows it
delete response;
throw FatalProfileException("No SAML assertions returned in response to artifact profile request.");
}
- authenticated = callCtx.isAuthenticated();
+ authenticated = callCtx.isAuthenticated() && !XMLString::compareNString(ep->getLocation(),https,6);
}
catch (SAMLException& ex) {
annotateException(&ex,idp); // rethrows it