diff --git a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/SAML/Metadata.pm b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/SAML/Metadata.pm
index d75e71917..cc8d59e7f 100644
--- a/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/SAML/Metadata.pm
+++ b/lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/SAML/Metadata.pm
@@ -164,12 +164,22 @@ sub serviceToXML {
samlIDPSSODescriptorArtifactResolutionServiceArtifact
);
+ my %indexed_endpoints;
foreach (@param_assertion) {
my @_tab = split( /;/, $self->getValue( $_, $conf ) );
- $template->param( $_ . 'Default', $_tab[0] ? 'true' : 'false' );
- $template->param( $_ . 'Index', $_tab[1] );
- $template->param( $_ . 'Binding', $_tab[2] );
- $template->param( $_ . 'Location', $_tab[3] );
+ $indexed_endpoints{ $_ . 'Default' } = ( $_tab[0] ? 'true' : 'false' );
+ $indexed_endpoints{ $_ . 'Index' } = $_tab[1];
+ $indexed_endpoints{ $_ . 'Binding' } = $_tab[2];
+ $indexed_endpoints{ $_ . 'Location' } = $_tab[3];
+ }
+ $template->param(%indexed_endpoints);
+
+ if (
+ $indexed_endpoints{samlSPSSODescriptorAssertionConsumerServiceHTTPArtifactDefault}
+ eq 'true'
+ )
+ {
+ $template->param( "ACSArtifactDefault" => 1 );
}
# Return the XML metadata.
@@ -310,6 +320,7 @@ __DATA__
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:2.0:nameid-format:entity
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
+
"
index=""
@@ -320,6 +331,18 @@ __DATA__
index=""
Binding=""
Location="" />
+
+ "
+ index=""
+ Binding=""
+ Location="" />
+ "
+ index=""
+ Binding=""
+ Location="" />
+