* Tom Scavo <
trs...@gmail.com> [2015-09-29 17:16]:
> > SimpleSAMLphp is processing the request but sending the browser
> > back to the binding URL as listed in the metadata that we
> > exchanged from them (their metadata only has one binding).
>
> If so, that would seem to be a bug in the software.
FWIW, if the Shibboleth IDP cannot authenticate the requested ACS URL
with existing SAML Metadata, it will terminate processing.
The SimpleSAMLphp, OTOH, in that case will send the response to the
first ACS URL of matching Binding from the SAML Metadata.
In both cases it is ensured that the response is only sent to
verified/authenticated endpoints. In the Shib case it's clear an error
condition occured and the subject is stranded at the IDP. In the SSP
case the subject will be sent on to a different (than requested) ACS
URL.
One could argue that SSP's behaviour at least has a chance of working.
From my own experience I must say that this behaviour masks Metadata
errors and confuses the hell out of anyone stumbling on such a case.
But "bug in the software" is too strong for that, IMO.
Questionable choice, maybe.
To the OP: Indeed us of the HTTP-POST protocol binding has nothing to
do with any of that.
No matter how the request was sent to the IDP, the IDP has to make
sure the response is only sent to validated endpoints. Verifying the
ACS URL from the request against SAML Metadata on record at the IDP is
one way (and the default way for both SimpleSAMLphp and Shibboleth).
Having the SP sign the request, and the IDP forgo Metadata ACS URL
checks iff the signature validates (and is from a trusted key), is
another.
-peter