class SamlIdp::ServiceProvider
Public Instance Methods
acceptable_response_hosts()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 45 def acceptable_response_hosts hosts = Array(self.response_hosts) hosts.push(metadata_url_host) if metadata_url_host hosts end
current_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 41 def current_metadata @current_metadata ||= get_current_or_build end
metadata_url_host()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 52 def metadata_url_host if metadata_url.present? URI(metadata_url).host end end
refresh_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 32 def refresh_metadata fresh = fresh_incoming_metadata if valid_signature?(fresh.document) metadata_persister[identifier, fresh] @current_metadata = nil fresh end end
valid?()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 20 def valid? attributes.present? end
valid_signature?(doc, require_signature = false)
click to toggle source
# File lib/saml_idp/service_provider.rb, line 24 def valid_signature?(doc, require_signature = false) if require_signature || attributes[:validate_signature] doc.valid_signature?(fingerprint) else true end end
Private Instance Methods
fresh_incoming_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 76 def fresh_incoming_metadata IncomingMetadata.new request_metadata end
get_current_or_build()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 58 def get_current_or_build persisted = metadata_getter[identifier, self] if persisted.is_a? Hash PersistedMetadata.new(persisted) end end
metadata_getter()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 66 def metadata_getter config.service_provider.persisted_metadata_getter end
metadata_persister()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 71 def metadata_persister config.service_provider.metadata_persister end
request_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 81 def request_metadata metadata_url.present? ? Net::HTTP.get(URI.parse(metadata_url)) : "" end