@@ -142,13 +142,15 @@ def single_signon_service_binding(binding_priority = nil)
142142 # @return [String|nil] SingleSignOnService endpoint if exists
143143 #
144144 def single_signon_service_url ( options = { } )
145- binding = options [ :sso_binding ] || single_signon_service_binding || "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
146- node = REXML ::XPath . first (
147- document ,
148- "/md:EntityDescriptor/md:IDPSSODescriptor/md:SingleSignOnService[@Binding=\" #{ binding } \" ]/@Location" ,
149- { "md" => METADATA }
150- )
151- node . value if node
145+ binding = single_signon_service_binding ( options [ :sso_binding ] )
146+ unless binding . nil?
147+ node = REXML ::XPath . first (
148+ document ,
149+ "/md:EntityDescriptor/md:IDPSSODescriptor/md:SingleSignOnService[@Binding=\" #{ binding } \" ]/@Location" ,
150+ { "md" => METADATA }
151+ )
152+ return node . value if node
153+ end
152154 end
153155
154156 # @param binding_priority [Array]
@@ -172,13 +174,15 @@ def single_logout_service_binding(binding_priority = nil)
172174 # @return [String|nil] SingleLogoutService endpoint if exists
173175 #
174176 def single_logout_service_url ( options = { } )
175- binding = options [ :slo_binding ] || single_logout_service_binding || "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
176- node = REXML ::XPath . first (
177- document ,
178- "/md:EntityDescriptor/md:IDPSSODescriptor/md:SingleLogoutService[@Binding=\" #{ binding } \" ]/@Location" ,
179- { "md" => METADATA }
180- )
181- node . value if node
177+ binding = single_logout_service_binding ( options [ :slo_binding ] )
178+ unless binding . nil?
179+ node = REXML ::XPath . first (
180+ document ,
181+ "/md:EntityDescriptor/md:IDPSSODescriptor/md:SingleLogoutService[@Binding=\" #{ binding } \" ]/@Location" ,
182+ { "md" => METADATA }
183+ )
184+ return node . value if node
185+ end
182186 end
183187
184188 # @return [String|nil] Unformatted Certificate if exists
0 commit comments