Hey all, I am deploying SAML in a lab for reproduction use so I just need a very basic config. I already have LDAP auth available in the lap, so I'll want to use that as the actual authenticator.
1. Added entry to authsources and verified LDAP auth workign via "test authentication sources"
2. Enabled the IDP confg.php
3. Placed the following in /etc/simplesamlphp/metadata/saml20-idp-hosted.php:
<?php
/**
* SAML 2.0 IdP configuration for simpleSAMLphp.
*
* See:
https://rnd.feide.no/content/idp-hosted-metadata-reference */
$metadata['__DYNAMIC:1__'] = array(
'saml20.sign.response' => FALSE,
'saml20.sign.assertion' => FALSE,
/*
* The hostname of the server (VHOST) that will use this SAML entity.
*
* Can be '__DEFAULT__', to use this entry by default.
*/
'host' => '__DEFAULT__',
/* X.509 key and certificate. Relative to the cert directory. */
'privatekey' => 'saml_idp.key',
'certificate' => 'saml_idp.cer',
/*
* Authentication source to use. Must be one that is configured in
* 'config/authsources.php'.
*/
'auth' => 'example-ldap',
/* Uncomment the following to use the uri NameFormat on attributes. */
/*
'AttributeNameFormat' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',
'authproc' => array(
// Convert LDAP names to oids.
100 => array('class' => 'core:AttributeMap', 'name2oid'),
),
*/
);
4. Fetched metadata from admin interface and placed it in saml20-idp-remote.php:
$metadata['
http://lab.host/simplesamlphp/saml2/idp/metadata.php'] = array (
'metadata-set' => 'saml20-idp-remote',
'entityid' => '
http://lab.host/simplesamlphp/saml2/idp/metadata.php',
'AssertionConsumerService' => '
https://3rdparty.host/samlauth',
'SingleSignOnService' => '
http://lab.host/simplesamlphp/saml2/idp/SSOService.php',
'SingleLogoutService' => '
http://lab.host/simplesamlphp/saml2/idp/SingleLogoutService.php',
'certData' => 'REDACTED',
'NameIDFormat' => 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient',
);
5. Ultimately a 3rd party device is the consumer of SAML auth, so I point it to
http://lab.host/simplesamlphp/saml2/idp/SSOService.php. When I then try to auth with the 3rd party device and it redirects me to SSOService.php, im getting a 'metadata not found' error for my "lab.host" name.
Is this SP or IDP metadata being searched for in this case? I can manipulate parameters on the 3rd party device to request whatever metadata name I want, and despite editing the saml20-idp-remote.php file to match whats being sent, and various other permutations each time i still get metadata not found.
I have a feeling the issue may be with the SP being ldap since in the federation tab nothing appears in "SAML 2.0 SP (trusted)" but really im not sure.
Any help is greatly appreciated.