Class: Saml::ProviderStores::File

Inherits:
Object
  • Object
show all
Defined in:
lib/saml/provider_stores/file.rb

Defined Under Namespace

Classes: Provider

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(metadata_dir = "config/metadata", key_file = "config/ssl/key.pem") ⇒ File

Returns a new instance of File.



17
18
19
20
21
22
23
24
25
26
# File 'lib/saml/provider_stores/file.rb', line 17

def initialize( = "config/metadata", key_file = "config/ssl/key.pem")
  self.providers = []
  Dir[::File.join(, "*.xml")].each do |file|
    entity_descriptor = Saml::Elements::EntityDescriptor.parse(::File.read(file), single: true)
    private_key       = OpenSSL::PKey::RSA.new(::File.read(key_file))
    type              = entity_descriptor.sp_sso_descriptor.present? ? "service_provider" : "identity_provider"

    self.providers << Provider.new(entity_descriptor, private_key, type)
  end
end

Instance Attribute Details

#providersObject

Returns the value of attribute providers.



15
16
17
# File 'lib/saml/provider_stores/file.rb', line 15

def providers
  @providers
end

Instance Method Details

#find_by_entity_id(entity_id) ⇒ Object



28
29
30
# File 'lib/saml/provider_stores/file.rb', line 28

def find_by_entity_id(entity_id)
  self.providers.find { |provider| provider.entity_id == entity_id }
end