Class: Saml::Kit::Builders::ServiceProviderMetadata

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
XmlTemplatable
Defined in:
lib/saml/kit/builders/service_provider_metadata.rb

Overview

Constant Summary

Constants included from XmlTemplatable

XmlTemplatable::TEMPLATES_DIR

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from XmlTemplatable

#digest_method, #sign?, #signature_method, #signing_key_pair, #template_name, #template_path

Constructor Details

#initialize(configuration: Saml::Kit.configuration) ⇒ ServiceProviderMetadata

Returns a new instance of ServiceProviderMetadata


19
20
21
22
23
24
25
26
27
28
29
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 19

def initialize(configuration: Saml::Kit.configuration)
  @acs_urls = []
  @configuration = configuration
  @logout_urls = []
  @name_id_formats = [Namespaces::PERSISTENT]
  @want_assertions_signed = true
  @metadata = Saml::Kit::Builders::Metadata.new(
    configuration: configuration
  )
  @metadata.service_provider = self
end

Instance Attribute Details

#acs_urlsObject

Returns the value of attribute acs_urls


11
12
13
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 11

def acs_urls
  @acs_urls
end

#configurationObject (readonly)

Returns the value of attribute configuration


13
14
15
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 13

def configuration
  @configuration
end

#logout_urlsObject

Returns the value of attribute logout_urls


11
12
13
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 11

def logout_urls
  @logout_urls
end

#metadataObject (readonly)

Returns the value of attribute metadata


14
15
16
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 14

def 
  @metadata
end

#name_id_formatsObject

Returns the value of attribute name_id_formats


11
12
13
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 11

def name_id_formats
  @name_id_formats
end

#want_assertions_signedObject

Returns the value of attribute want_assertions_signed


12
13
14
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 12

def want_assertions_signed
  @want_assertions_signed
end

Instance Method Details

#add_assertion_consumer_service(url, binding: :http_post) ⇒ Object


31
32
33
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 31

def add_assertion_consumer_service(url, binding: :http_post)
  @acs_urls.push(location: url, binding: Bindings.binding_for(binding))
end

#add_single_logout_service(url, binding: :http_post) ⇒ Object


35
36
37
38
39
40
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 35

def add_single_logout_service(url, binding: :http_post)
  @logout_urls.push(
    location: url,
    binding: Bindings.binding_for(binding)
  )
end

#buildObject


42
43
44
# File 'lib/saml/kit/builders/service_provider_metadata.rb', line 42

def build
  Saml::Kit::ServiceProviderMetadata.new(to_xml)
end