diff --git a/config-templates/authsources.php b/config-templates/authsources.php index 95376b17bcc8fdb5300c48920aadd25074bc8916..ccf224cd40a59cecc66f8a7f53992a6f099a489b 100644 --- a/config-templates/authsources.php +++ b/config-templates/authsources.php @@ -47,6 +47,20 @@ $config = array( * Please refer to the hosted SP configuration reference for more information. */ //'signature.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256', + + /* + // The attributes parameter must contain an array of desired attributes by the SP. + // The attributes can be expresed as an array of names or as an associative array + // in the form of 'friendlyName' => 'name'. + // The metadata will then be created as follows: + // <md:RequestedAttribute FriendlyName="friendlyName" Name="name" /> + 'attributes' => array( + 'attrname' => 'urn:oid:x.x.x.x', + ), + 'attributes.required' => array ( + 'urn:oid:x.x.x.x', + ), + */ ), diff --git a/lib/SimpleSAML/Metadata/SAMLBuilder.php b/lib/SimpleSAML/Metadata/SAMLBuilder.php index 33cd9bd0e965dc2d75f2a2dbc82f234f933d574f..88219a3870dcb107490999cfe00721f3f5864fb3 100644 --- a/lib/SimpleSAML/Metadata/SAMLBuilder.php +++ b/lib/SimpleSAML/Metadata/SAMLBuilder.php @@ -370,9 +370,12 @@ class SimpleSAML_Metadata_SAMLBuilder { $attributeconsumer->ServiceDescription = $metadata->getLocalizedString('description', array()); $nameFormat = $metadata->getString('attributes.NameFormat', SAML2_Const::NAMEFORMAT_UNSPECIFIED); - foreach ($attributes as $attribute) { + foreach ($attributes as $friendlyName => $attribute) { $t = new SAML2_XML_md_RequestedAttribute(); $t->Name = $attribute; + if (!is_int($friendlyName)) { + $t->FriendlyName = $friendlyName; + } if ($nameFormat !== SAML2_Const::NAMEFORMAT_UNSPECIFIED) { $t->NameFormat = $nameFormat; }