We have several simpleSAMLphp Service Providers and an Identity Provider set up and working. LDAP is used for federation.
Everything works fine, except for Safari web browsers, or the first time that any web browser is used to log in. In those circumstances the user gets an Unhandled Exception error is displayed stating that it is
Unable to find the current binding.
This happens with both Idp inititated login, and SP initiated login methods.
This is a snippet from saml20-sp-remote.php on the Idp:
$metadata['default-sp'] = array(
'AssertionConsumerService' => array(
0 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => '
https://sp.example.org/sdauth/module.php/saml/sp/saml2-acs.php/default-sp',
),
1 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => '
https://sp.example.org/sdauth/module.php/saml/sp/saml2-acs.php/default-sp',
),
),
'SingleLogoutService' => array(
0 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => '
https://sp.example.org/sdauth/module.php/saml/sp/saml2-logout.php/default-sp',
),
1 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => '
https://sp.example.org/sdauth/module.php/saml/sp/saml2-logout.php/default-sp',
),
),
);
And this is snippet from saml20-idp-remote.php on the SP:
$metadata['
https://idp.example.org'] = array (
'SingleSignOnService' => array(
0 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => '
https://idp.example.org/sdauth/saml2/idp/SSOService.php',
),
1 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => '
https://idp.example.org/sdauth/saml2/idp/SSOService.php',
),
),
'SingleLogoutService' => array (
0 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => '
https://idp.example.org/sdauth/saml2/idp/SingleLogoutService.php',
),
1 => array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => '
https://idp.example.org/sdauth/saml2/idp/SingleLogoutService.php',
),
),
'certFingerprint' => '<Not Included For Security Purposes>',
);
Snippet from authsources.php:
'default-sp' => array(
'saml:SP',
// The entity ID of this SP.
// Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.
'entityID' => 'default-sp',
// The entity ID of the IdP this should SP should contact.
// Can be NULL/unset, in which case the user will be shown a list of available IdPs.
'idp' => '
https://idp.example.org',
// The URL to the discovery service.
// Can be NULL/unset, in which case a builtin discovery service will be used.
'discoURL' => NULL,
),
Any help anyone can offer would be greatly appreciated.
Thank you in advance.