class SamlIdp::ServiceProvider
Public Instance Methods
current_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 44 def current_metadata @current_metadata ||= get_current_or_build end
refresh_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 35 def refresh_metadata fresh = fresh_incoming_metadata if valid_signature?(fresh.document) metadata_persister[identifier, fresh] @current_metadata = nil fresh end end
should_validate_signature?()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 30 def should_validate_signature? attributes[:validate_signature] || current_metadata.respond_to?(:sign_assertions?) && current_metadata.sign_assertions? end
valid?()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 18 def valid? attributes.present? end
valid_signature?(doc, require_signature = false)
click to toggle source
# File lib/saml_idp/service_provider.rb, line 22 def valid_signature?(doc, require_signature = false) if require_signature || should_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 66 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 48 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 56 def metadata_getter config.service_provider.persisted_metadata_getter end
metadata_persister()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 61 def metadata_persister config.service_provider.metadata_persister end
request_metadata()
click to toggle source
# File lib/saml_idp/service_provider.rb, line 71 def request_metadata metadata_url.present? ? HTTParty.get(metadata_url).body : "" end