@@ -334,17 +334,29 @@ sub authn_request {
334334
335335}
336336
337- =head2 logout_request( $destination, $nameid, $nameid_format, $session )
337+ =head2 logout_request( $destination, $nameid, $nameid_format, $session, $params )
338338
339339Returns a LogoutRequest object created by this SP, intended for the
340340given destination, which should be the identity URI of the IdP.
341341
342342Also requires the nameid (+format) and session to be logged out.
343343
344+ =over
345+
346+ $params is a HASH reference for parameters to Net::SAML2::Protocol::LogoutRequest
347+
348+ $params = (
349+ # name qualifier parameters from Assertion NameId
350+ name_qualifier => "https://idp.shibboleth.local/idp/shibboleth"
351+ sp_name_qualifier => "https://netsaml2-testapp.local"
352+ );
353+
354+ =back
355+
344356=cut
345357
346358sub logout_request {
347- my ($self , $destination , $nameid , $nameid_format , $session ) = @_ ;
359+ my ($self , $destination , $nameid , $nameid_format , $session , $params ) = @_ ;
348360
349361 my $logout_req = Net::SAML2::Protocol::LogoutRequest-> new(
350362 issuer => $self -> id,
@@ -354,8 +366,16 @@ sub logout_request {
354366 NonEmptySimpleStr-> check($nameid_format )
355367 ? (nameid_format => $nameid_format )
356368 : (),
369+ (defined $params -> {sp_name_qualifier })
370+ ? (affiliation_group_id => $params -> {sp_name_qualifier })
371+ : (),
372+ (defined $params -> {name_qualifier })
373+ ? (name_qualifier => $params -> {name_qualifier })
374+ : (),
375+ (defined $params -> {include_name_qualifier })
376+ ? ( include_name_qualifier => $params -> {include_name_qualifier } )
377+ : ( include_name_qualifier => 1),
357378 );
358-
359379 return $logout_req ;
360380}
361381
0 commit comments