File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -212,6 +212,7 @@ def to_hash(options = {})
212212 :name_identifier_format => idp_name_id_format ,
213213 :idp_sso_target_url => single_signon_service_url ( options ) ,
214214 :idp_slo_target_url => single_logout_service_url ( options ) ,
215+ :idp_slo_response_service_url => single_logout_response_service_url ( options ) ,
215216 :idp_attribute_names => attribute_names ,
216217 :idp_cert => nil ,
217218 :idp_cert_fingerprint => nil ,
@@ -304,6 +305,21 @@ def single_logout_service_url(options = {})
304305 return node . value if node
305306 end
306307
308+ # @param options [Hash]
309+ # @return [String|nil] SingleLogoutService response url if exists
310+ #
311+ def single_logout_response_service_url ( options = { } )
312+ binding = single_logout_service_binding ( options [ :slo_binding ] )
313+ return if binding . nil?
314+
315+ node = REXML ::XPath . first (
316+ @idpsso_descriptor ,
317+ "md:SingleLogoutService[@Binding=\" #{ binding } \" ]/@ResponseLocation" ,
318+ SamlMetadata ::NAMESPACE
319+ )
320+ return node . value if node
321+ end
322+
307323 # @return [String|nil] Unformatted Certificate if exists
308324 #
309325 def certificates
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ def initialize(overrides = {}, keep_security_attributes = false)
3232 # IdP Data
3333 attr_accessor :idp_entity_id
3434 attr_accessor :idp_sso_target_url
35+ attr_accessor :idp_slo_response_service_url
3536 attr_accessor :idp_slo_target_url
3637 attr_accessor :idp_cert
3738 attr_accessor :idp_cert_fingerprint
Original file line number Diff line number Diff line change @@ -591,4 +591,25 @@ def initialize; end
591591 assert_nil @settings . idp_slo_target_url
592592 end
593593 end
594+ describe "metadata with different singlelogout response location" do
595+ it "should return the responselocation if it exists" do
596+ idp_metadata_parser = OneLogin ::RubySaml ::IdpMetadataParser . new
597+
598+ settings = idp_metadata_parser . parse ( idp_different_slo_response_location )
599+
600+
601+ assert_equal "https://hello.example.com/access/saml/logout" , settings . idp_slo_target_url
602+ assert_equal "https://hello.example.com/access/saml/logout/return" , settings . idp_slo_response_service_url
603+ end
604+
605+ it "should set the responselocation to nil if it doesnt exist" do
606+ idp_metadata_parser = OneLogin ::RubySaml ::IdpMetadataParser . new
607+
608+ settings = idp_metadata_parser . parse ( idp_without_slo_response_location )
609+
610+
611+ assert_equal "https://hello.example.com/access/saml/logout" , settings . idp_slo_target_url
612+ assert_nil settings . idp_slo_response_service_url
613+ end
614+ end
594615end
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <md : EntityDescriptor entityID =" https://hello.example.com/access/saml/idp.xml" validUntil =" 2014-04-17T18:02:33.910Z" xmlns : md =" urn:oasis:names:tc:SAML:2.0:metadata" >
3+ <md : IDPSSODescriptor WantAuthnRequestsSigned =" true" protocolSupportEnumeration =" urn:oasis:names:tc:SAML:2.0:protocol" >
4+ <md : KeyDescriptor use =" signing" >
5+ <ds : KeyInfo xmlns : ds =" http://www.w3.org/2000/09/xmldsig#" >
6+ <ds : X509Data >
7+ <ds:X509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURxekNDQXhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaGpFTE1Ba0dBMVVFQmhNQ1FWVXgKRERBS0JnTlZCQWdUQTA1VFZ6RVBNQTBHQTFVRUJ4TUdVM2xrYm1WNU1Rd3dDZ1lEVlFRS0RBTlFTVlF4Q1RBSApCZ05WQkFzTUFERVlNQllHQTFVRUF3d1BiR0YzY21WdVkyVndhWFF1WTI5dE1TVXdJd1lKS29aSWh2Y05BUWtCCkRCWnNZWGR5Wlc1alpTNXdhWFJBWjIxaGFXd3VZMjl0TUI0WERURXlNRFF4T1RJeU5UUXhPRm9YRFRNeU1EUXgKTkRJeU5UUXhPRm93Z1lZeEN6QUpCZ05WQkFZVEFrRlZNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVApCbE41Wkc1bGVURU1NQW9HQTFVRUNnd0RVRWxVTVFrd0J3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psCmJtTmxjR2wwTG1OdmJURWxNQ01HQ1NxR1NJYjNEUUVKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnYKYlRDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXFqaWUzUjJvaStwRGFldndJeXMvbWJVVApubkdsa3h0ZGlrcnExMXZleHd4SmlQTmhtaHFSVzNtVXVKRXpsbElkVkw2RW14R1lUcXBxZjkzSGxoa3NhZUowCjhVZ2pQOVVtTVlyaFZKdTFqY0ZXVjdmei9yKzIxL2F3VG5EVjlzTVlRcXVJUllZeTdiRzByMU9iaXdkb3ZudGsKN2dGSTA2WjB2WmFjREU1Ym9xVUNBd0VBQWFPQ0FTVXdnZ0VoTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1VnTUIwR0ExVWREZ1FXQkJTUk9OOEdKOG8rOGpnRnRqa3R3WmRxeDZCUnlUQVRCZ05WSFNVRUREQUtCZ2dyCkJnRUZCUWNEQVRBZEJnbGdoa2dCaHZoQ0FRMEVFQllPVkdWemRDQllOVEE1SUdObGNuUXdnYk1HQTFVZEl3U0IKcXpDQnFJQVVrVGpmQmlmS1B2STRCYlk1TGNHWGFzZWdVY21oZ1l5a2dZa3dnWVl4Q3pBSkJnTlZCQVlUQWtGVgpNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVEJsTjVaRzVsZVRFTU1Bb0dBMVVFQ2d3RFVFbFVNUWt3CkJ3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psYm1ObGNHbDBMbU52YlRFbE1DTUdDU3FHU0liM0RRRUoKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnZiWUlCQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9CZ1FDRQpUQWVKVERTQVc2ejFVRlRWN1FyZWg0VUxGT1JhajkrZUN1RjNLV0RIYyswSVFDajlyZG5ERzRRL3dmNy9yYVEwCkpuUFFDU0NkclBMSmV5b1BIN1FhVHdvYUY3ZHpWdzRMQ3N5TkpURld4NGNNNTBWdzZSNWZET2dpQzhic2ZmUzgKQkptb3VscnJaRE5OVmpHOG1XNmNMeHJZdlZRT3JSVmVjQ0ZJZ3NzQ2JBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=</ds:X509Certificate>
8+ </ds : X509Data >
9+ </ds : KeyInfo >
10+ </md : KeyDescriptor >
11+ <md : KeyDescriptor use =" encryption" >
12+ <ds : KeyInfo xmlns : ds =" http://www.w3.org/2000/09/xmldsig#" >
13+ <ds : X509Data >
14+ <ds:X509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURxekNDQXhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaGpFTE1Ba0dBMVVFQmhNQ1FWVXgKRERBS0JnTlZCQWdUQTA1VFZ6RVBNQTBHQTFVRUJ4TUdVM2xrYm1WNU1Rd3dDZ1lEVlFRS0RBTlFTVlF4Q1RBSApCZ05WQkFzTUFERVlNQllHQTFVRUF3d1BiR0YzY21WdVkyVndhWFF1WTI5dE1TVXdJd1lKS29aSWh2Y05BUWtCCkRCWnNZWGR5Wlc1alpTNXdhWFJBWjIxaGFXd3VZMjl0TUI0WERURXlNRFF4T1RJeU5UUXhPRm9YRFRNeU1EUXgKTkRJeU5UUXhPRm93Z1lZeEN6QUpCZ05WQkFZVEFrRlZNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVApCbE41Wkc1bGVURU1NQW9HQTFVRUNnd0RVRWxVTVFrd0J3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psCmJtTmxjR2wwTG1OdmJURWxNQ01HQ1NxR1NJYjNEUUVKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnYKYlRDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXFqaWUzUjJvaStwRGFldndJeXMvbWJVVApubkdsa3h0ZGlrcnExMXZleHd4SmlQTmhtaHFSVzNtVXVKRXpsbElkVkw2RW14R1lUcXBxZjkzSGxoa3NhZUowCjhVZ2pQOVVtTVlyaFZKdTFqY0ZXVjdmei9yKzIxL2F3VG5EVjlzTVlRcXVJUllZeTdiRzByMU9iaXdkb3ZudGsKN2dGSTA2WjB2WmFjREU1Ym9xVUNBd0VBQWFPQ0FTVXdnZ0VoTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1VnTUIwR0ExVWREZ1FXQkJTUk9OOEdKOG8rOGpnRnRqa3R3WmRxeDZCUnlUQVRCZ05WSFNVRUREQUtCZ2dyCkJnRUZCUWNEQVRBZEJnbGdoa2dCaHZoQ0FRMEVFQllPVkdWemRDQllOVEE1SUdObGNuUXdnYk1HQTFVZEl3U0IKcXpDQnFJQVVrVGpmQmlmS1B2STRCYlk1TGNHWGFzZWdVY21oZ1l5a2dZa3dnWVl4Q3pBSkJnTlZCQVlUQWtGVgpNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVEJsTjVaRzVsZVRFTU1Bb0dBMVVFQ2d3RFVFbFVNUWt3CkJ3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psYm1ObGNHbDBMbU52YlRFbE1DTUdDU3FHU0liM0RRRUoKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnZiWUlCQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9CZ1FDRQpUQWVKVERTQVc2ejFVRlRWN1FyZWg0VUxGT1JhajkrZUN1RjNLV0RIYyswSVFDajlyZG5ERzRRL3dmNy9yYVEwCkpuUFFDU0NkclBMSmV5b1BIN1FhVHdvYUY3ZHpWdzRMQ3N5TkpURld4NGNNNTBWdzZSNWZET2dpQzhic2ZmUzgKQkptb3VscnJaRE5OVmpHOG1XNmNMeHJZdlZRT3JSVmVjQ0ZJZ3NzQ2JBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=</ds:X509Certificate>
15+ </ds : X509Data >
16+ </ds : KeyInfo >
17+ </md : KeyDescriptor >
18+ <md : SingleLogoutService Binding =" urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location =" https://hello.example.com/access/saml/logout" ResponseLocation =" https://hello.example.com/access/saml/logout/return" />
19+ <md : NameIDFormat >urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md : NameIDFormat >
20+ <md : NameIDFormat >urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md : NameIDFormat >
21+ <md : NameIDFormat >urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md : NameIDFormat >
22+ <md : SingleSignOnService Binding =" urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location =" https://hello.example.com/access/saml/login" />
23+ <saml : Attribute Name =" AuthToken" NameFormat =" urn:oasis:names:tc:SAML:2.0:att rname-format:basic" xmlns : saml =" urn:oasis:names:tc:SAML:2.0:assertion" />
24+ <saml : Attribute Name =" SSOStartPage" NameFormat =" urn:oasis:names:tc:SAML:2.0:attrname-format:uri" xmlns : saml =" urn:oasis:names:tc:SAML:2.0:assertion" />
25+ </md : IDPSSODescriptor >
26+ </md : EntityDescriptor >
Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2+ <md : EntityDescriptor entityID =" https://hello.example.com/access/saml/idp.xml" validUntil =" 2014-04-17T18:02:33.910Z" xmlns : md =" urn:oasis:names:tc:SAML:2.0:metadata" >
3+ <md : IDPSSODescriptor WantAuthnRequestsSigned =" true" protocolSupportEnumeration =" urn:oasis:names:tc:SAML:2.0:protocol" >
4+ <md : KeyDescriptor use =" signing" >
5+ <ds : KeyInfo xmlns : ds =" http://www.w3.org/2000/09/xmldsig#" >
6+ <ds : X509Data >
7+ <ds:X509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURxekNDQXhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaGpFTE1Ba0dBMVVFQmhNQ1FWVXgKRERBS0JnTlZCQWdUQTA1VFZ6RVBNQTBHQTFVRUJ4TUdVM2xrYm1WNU1Rd3dDZ1lEVlFRS0RBTlFTVlF4Q1RBSApCZ05WQkFzTUFERVlNQllHQTFVRUF3d1BiR0YzY21WdVkyVndhWFF1WTI5dE1TVXdJd1lKS29aSWh2Y05BUWtCCkRCWnNZWGR5Wlc1alpTNXdhWFJBWjIxaGFXd3VZMjl0TUI0WERURXlNRFF4T1RJeU5UUXhPRm9YRFRNeU1EUXgKTkRJeU5UUXhPRm93Z1lZeEN6QUpCZ05WQkFZVEFrRlZNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVApCbE41Wkc1bGVURU1NQW9HQTFVRUNnd0RVRWxVTVFrd0J3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psCmJtTmxjR2wwTG1OdmJURWxNQ01HQ1NxR1NJYjNEUUVKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnYKYlRDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXFqaWUzUjJvaStwRGFldndJeXMvbWJVVApubkdsa3h0ZGlrcnExMXZleHd4SmlQTmhtaHFSVzNtVXVKRXpsbElkVkw2RW14R1lUcXBxZjkzSGxoa3NhZUowCjhVZ2pQOVVtTVlyaFZKdTFqY0ZXVjdmei9yKzIxL2F3VG5EVjlzTVlRcXVJUllZeTdiRzByMU9iaXdkb3ZudGsKN2dGSTA2WjB2WmFjREU1Ym9xVUNBd0VBQWFPQ0FTVXdnZ0VoTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1VnTUIwR0ExVWREZ1FXQkJTUk9OOEdKOG8rOGpnRnRqa3R3WmRxeDZCUnlUQVRCZ05WSFNVRUREQUtCZ2dyCkJnRUZCUWNEQVRBZEJnbGdoa2dCaHZoQ0FRMEVFQllPVkdWemRDQllOVEE1SUdObGNuUXdnYk1HQTFVZEl3U0IKcXpDQnFJQVVrVGpmQmlmS1B2STRCYlk1TGNHWGFzZWdVY21oZ1l5a2dZa3dnWVl4Q3pBSkJnTlZCQVlUQWtGVgpNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVEJsTjVaRzVsZVRFTU1Bb0dBMVVFQ2d3RFVFbFVNUWt3CkJ3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psYm1ObGNHbDBMbU52YlRFbE1DTUdDU3FHU0liM0RRRUoKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnZiWUlCQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9CZ1FDRQpUQWVKVERTQVc2ejFVRlRWN1FyZWg0VUxGT1JhajkrZUN1RjNLV0RIYyswSVFDajlyZG5ERzRRL3dmNy9yYVEwCkpuUFFDU0NkclBMSmV5b1BIN1FhVHdvYUY3ZHpWdzRMQ3N5TkpURld4NGNNNTBWdzZSNWZET2dpQzhic2ZmUzgKQkptb3VscnJaRE5OVmpHOG1XNmNMeHJZdlZRT3JSVmVjQ0ZJZ3NzQ2JBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=</ds:X509Certificate>
8+ </ds : X509Data >
9+ </ds : KeyInfo >
10+ </md : KeyDescriptor >
11+ <md : KeyDescriptor use =" encryption" >
12+ <ds : KeyInfo xmlns : ds =" http://www.w3.org/2000/09/xmldsig#" >
13+ <ds : X509Data >
14+ <ds:X509Certificate>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURxekNDQXhTZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBRENCaGpFTE1Ba0dBMVVFQmhNQ1FWVXgKRERBS0JnTlZCQWdUQTA1VFZ6RVBNQTBHQTFVRUJ4TUdVM2xrYm1WNU1Rd3dDZ1lEVlFRS0RBTlFTVlF4Q1RBSApCZ05WQkFzTUFERVlNQllHQTFVRUF3d1BiR0YzY21WdVkyVndhWFF1WTI5dE1TVXdJd1lKS29aSWh2Y05BUWtCCkRCWnNZWGR5Wlc1alpTNXdhWFJBWjIxaGFXd3VZMjl0TUI0WERURXlNRFF4T1RJeU5UUXhPRm9YRFRNeU1EUXgKTkRJeU5UUXhPRm93Z1lZeEN6QUpCZ05WQkFZVEFrRlZNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVApCbE41Wkc1bGVURU1NQW9HQTFVRUNnd0RVRWxVTVFrd0J3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psCmJtTmxjR2wwTG1OdmJURWxNQ01HQ1NxR1NJYjNEUUVKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnYKYlRDQm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQXFqaWUzUjJvaStwRGFldndJeXMvbWJVVApubkdsa3h0ZGlrcnExMXZleHd4SmlQTmhtaHFSVzNtVXVKRXpsbElkVkw2RW14R1lUcXBxZjkzSGxoa3NhZUowCjhVZ2pQOVVtTVlyaFZKdTFqY0ZXVjdmei9yKzIxL2F3VG5EVjlzTVlRcXVJUllZeTdiRzByMU9iaXdkb3ZudGsKN2dGSTA2WjB2WmFjREU1Ym9xVUNBd0VBQWFPQ0FTVXdnZ0VoTUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1VnTUIwR0ExVWREZ1FXQkJTUk9OOEdKOG8rOGpnRnRqa3R3WmRxeDZCUnlUQVRCZ05WSFNVRUREQUtCZ2dyCkJnRUZCUWNEQVRBZEJnbGdoa2dCaHZoQ0FRMEVFQllPVkdWemRDQllOVEE1SUdObGNuUXdnYk1HQTFVZEl3U0IKcXpDQnFJQVVrVGpmQmlmS1B2STRCYlk1TGNHWGFzZWdVY21oZ1l5a2dZa3dnWVl4Q3pBSkJnTlZCQVlUQWtGVgpNUXd3Q2dZRFZRUUlFd05PVTFjeER6QU5CZ05WQkFjVEJsTjVaRzVsZVRFTU1Bb0dBMVVFQ2d3RFVFbFVNUWt3CkJ3WURWUVFMREFBeEdEQVdCZ05WQkFNTUQyeGhkM0psYm1ObGNHbDBMbU52YlRFbE1DTUdDU3FHU0liM0RRRUoKQVF3V2JHRjNjbVZ1WTJVdWNHbDBRR2R0WVdsc0xtTnZiWUlCQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9CZ1FDRQpUQWVKVERTQVc2ejFVRlRWN1FyZWg0VUxGT1JhajkrZUN1RjNLV0RIYyswSVFDajlyZG5ERzRRL3dmNy9yYVEwCkpuUFFDU0NkclBMSmV5b1BIN1FhVHdvYUY3ZHpWdzRMQ3N5TkpURld4NGNNNTBWdzZSNWZET2dpQzhic2ZmUzgKQkptb3VscnJaRE5OVmpHOG1XNmNMeHJZdlZRT3JSVmVjQ0ZJZ3NzQ2JBPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=</ds:X509Certificate>
15+ </ds : X509Data >
16+ </ds : KeyInfo >
17+ </md : KeyDescriptor >
18+ <md : SingleLogoutService Binding =" urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location =" https://hello.example.com/access/saml/logout" />
19+ <md : NameIDFormat >urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md : NameIDFormat >
20+ <md : NameIDFormat >urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md : NameIDFormat >
21+ <md : NameIDFormat >urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md : NameIDFormat >
22+ <md : SingleSignOnService Binding =" urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location =" https://hello.example.com/access/saml/login" />
23+ <saml : Attribute Name =" AuthToken" NameFormat =" urn:oasis:names:tc:SAML:2.0:att rname-format:basic" xmlns : saml =" urn:oasis:names:tc:SAML:2.0:assertion" />
24+ <saml : Attribute Name =" SSOStartPage" NameFormat =" urn:oasis:names:tc:SAML:2.0:attrname-format:uri" xmlns : saml =" urn:oasis:names:tc:SAML:2.0:assertion" />
25+ </md : IDPSSODescriptor >
26+ </md : EntityDescriptor >
Original file line number Diff line number Diff line change @@ -200,6 +200,14 @@ def idp_metadata_different_sign_and_encrypt_cert
200200 @idp_metadata_different_sign_and_encrypt_cert ||= File . read ( File . join ( File . dirname ( __FILE__ ) , 'metadata' , 'idp_metadata_different_sign_and_encrypt_cert.xml' ) )
201201 end
202202
203+ def idp_different_slo_response_location
204+ @idp_different_slo_response_location ||= File . read ( File . join ( File . dirname ( __FILE__ ) , 'metadata' , 'idp_different_slo_response_location.xml' ) )
205+ end
206+
207+ def idp_without_slo_response_location
208+ @idp_without_slo_response_location ||= File . read ( File . join ( File . dirname ( __FILE__ ) , 'metadata' , 'idp_without_slo_response_location.xml' ) )
209+ end
210+
203211 def logout_request_document
204212 unless @logout_request_document
205213 xml = read_logout_request ( "slo_request.xml" )
You can’t perform that action at this time.
0 commit comments