@@ -104,9 +104,9 @@ has 'key' => (isa => 'Str', is => 'ro', required => 1);
104104has ' cacert' => (isa => ' Maybe[Str]' , is => ' ro' , required => 1);
105105
106106has ' error_url' => (isa => ' Str' , is => ' ro' , required => 1);
107- has ' slo_url_soap' => (isa => ' Str' , is => ' ro' , required => 1);
107+ has ' slo_url_soap' => (isa => ' Str' , is => ' ro' , required => 0, predicate => ' has_slo_url_soap' );
108+ has ' slo_url_post' => (isa => ' Str' , is => ' ro' , required => 0, predicate => ' has_slo_url_post' );
108109has ' slo_url_redirect' => (isa => ' Str' , is => ' ro' , required => 1);
109- has ' slo_url_post' => (isa => ' Str' , is => ' ro' , required => 1);
110110has ' acs_url_post' => (isa => ' Str' , is => ' ro' , required => 1);
111111has ' acs_url_artifact' => (isa => ' Str' , is => ' ro' , required => 1);
112112
@@ -359,21 +359,29 @@ sub generate_metadata {
359359
360360 )
361361 ),
362- $x -> SingleLogoutService(
363- $md ,
364- { Binding => ' urn:oasis:names:tc:SAML:2.0:bindings:SOAP' ,
365- Location => $self -> url . $self -> slo_url_soap },
366- ),
362+ $self -> has_slo_url_soap ?
363+ $x -> SingleLogoutService(
364+ $md ,
365+ { Binding => ' urn:oasis:names:tc:SAML:2.0:bindings:SOAP' ,
366+ Location => $self -> url . $self -> slo_url_soap },
367+ ) : (),
368+
367369 $x -> SingleLogoutService(
368370 $md ,
369371 { Binding => ' urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' ,
370372 Location => $self -> url . $self -> slo_url_redirect },
371373 ),
372- $x -> SingleLogoutService(
373- $md ,
374- { Binding => ' urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' ,
375- Location => $self -> url . $self -> slo_url_post },
376- ),
374+
375+ $self -> has_slo_url_post ?
376+ $x -> SingleLogoutService(
377+ $md ,
378+ {
379+ Binding =>
380+ ' urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' ,
381+ Location => $self -> url . $self -> slo_url_post
382+ },
383+ ) : (),
384+
377385 $x -> AssertionConsumerService(
378386 $md ,
379387 { Binding => ' urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' ,
0 commit comments