Class: Saml::ProviderStores::File

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

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.



6
7
8
9
10
11
12
13
14
15
# File 'lib/saml/provider_stores/file.rb', line 6

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 << BasicProvider.new(entity_descriptor, private_key, type)
  end
end

Instance Attribute Details

#providersObject

Returns the value of attribute providers.



4
5
6
# File 'lib/saml/provider_stores/file.rb', line 4

def providers
  @providers
end

Instance Method Details

#find_by_entity_id(entity_id) ⇒ Object



17
18
19
# File 'lib/saml/provider_stores/file.rb', line 17

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