@@ -318,17 +318,29 @@ sub authn_request {
318318
319319}
320320
321- =head2 logout_request( $destination, $nameid, $nameid_format, $session )
321+ =head2 logout_request( $destination, $nameid, $nameid_format, $session, $params )
322322
323323Returns a LogoutRequest object created by this SP, intended for the
324324given destination, which should be the identity URI of the IdP.
325325
326326Also requires the nameid (+format) and session to be logged out.
327327
328+ =over
329+
330+ $params is a HASH reference for parameters to Net::SAML2::Protocol::LogoutRequest
331+
332+ $params = (
333+ # name qualifier parameters from Assertion NameId
334+ name_qualifier => "https://idp.shibboleth.local/idp/shibboleth"
335+ sp_name_qualifier => "https://netsaml2-testapp.local"
336+ );
337+
338+ =back
339+
328340=cut
329341
330342sub logout_request {
331- my ($self , $destination , $nameid , $nameid_format , $session ) = @_ ;
343+ my ($self , $destination , $nameid , $nameid_format , $session , $params ) = @_ ;
332344
333345 my $logout_req = Net::SAML2::Protocol::LogoutRequest-> new(
334346 issuer => $self -> id,
@@ -338,8 +350,16 @@ sub logout_request {
338350 NonEmptySimpleStr-> check($nameid_format )
339351 ? (nameid_format => $nameid_format )
340352 : (),
353+ (defined $params -> {sp_name_qualifier })
354+ ? (affiliation_group_id => $params -> {sp_name_qualifier })
355+ : (),
356+ (defined $params -> {name_qualifier })
357+ ? (name_qualifier => $params -> {name_qualifier })
358+ : (),
359+ (defined $params -> {include_name_qualifier })
360+ ? ( include_name_qualifier => $params -> {include_name_qualifier } )
361+ : ( include_name_qualifier => 1),
341362 );
342-
343363 return $logout_req ;
344364}
345365
0 commit comments