Class: Spid::Saml::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/spid/ruby-saml/settings.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ Settings



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/spid/ruby-saml/settings.rb', line 15

def initialize(config = {})
  config.each do |k,v|
    acc = "#{k.to_s}=".to_sym
    self.send(acc, v) if self.respond_to? acc
  end

  # Set some sane default values on a few options
  self.assertion_consumer_service_binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
  self.single_logout_service_binding = "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
  # Default cache TTL for metadata is 1 day
  self. = 86400
end

Instance Attribute Details

#aggregatoObject

Returns the value of attribute aggregato.



13
14
15
# File 'lib/spid/ruby-saml/settings.rb', line 13

def aggregato
  @aggregato
end

#assertion_consumer_service_bindingObject

Returns the value of attribute assertion_consumer_service_binding.



9
10
11
# File 'lib/spid/ruby-saml/settings.rb', line 9

def assertion_consumer_service_binding
  @assertion_consumer_service_binding
end

#assertion_consumer_service_indexObject

Returns the value of attribute assertion_consumer_service_index.



9
10
11
# File 'lib/spid/ruby-saml/settings.rb', line 9

def assertion_consumer_service_index
  @assertion_consumer_service_index
end

#assertion_consumer_service_urlObject

Returns the value of attribute assertion_consumer_service_url.



9
10
11
# File 'lib/spid/ruby-saml/settings.rb', line 9

def assertion_consumer_service_url
  @assertion_consumer_service_url
end

#attribute_consuming_service_indexObject

Returns the value of attribute attribute_consuming_service_index.



9
10
11
# File 'lib/spid/ruby-saml/settings.rb', line 9

def attribute_consuming_service_index
  @attribute_consuming_service_index
end

#authn_contextObject

Returns the value of attribute authn_context.



11
12
13
# File 'lib/spid/ruby-saml/settings.rb', line 11

def authn_context
  @authn_context
end

#destination_service_urlObject

Returns the value of attribute destination_service_url.



11
12
13
# File 'lib/spid/ruby-saml/settings.rb', line 11

def destination_service_url
  @destination_service_url
end

#hash_aggregatoreObject

Returns the value of attribute hash_aggregatore.



13
14
15
# File 'lib/spid/ruby-saml/settings.rb', line 13

def hash_aggregatore
  @hash_aggregatore
end

#hash_assertion_consumerObject

Returns the value of attribute hash_assertion_consumer.



9
10
11
# File 'lib/spid/ruby-saml/settings.rb', line 9

def hash_assertion_consumer
  @hash_assertion_consumer
end

#idp_certObject

Returns the value of attribute idp_cert.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_cert
  @idp_cert
end

#idp_cert_fingerprintObject

Returns the value of attribute idp_cert_fingerprint.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_cert_fingerprint
  @idp_cert_fingerprint
end

#idp_entity_idObject

Returns the value of attribute idp_entity_id.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_entity_id
  @idp_entity_id
end

#idp_metadataObject

Returns the value of attribute idp_metadata.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def 
  @idp_metadata
end

#idp_metadata_ttlObject

Returns the value of attribute idp_metadata_ttl.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def 
  @idp_metadata_ttl
end

#idp_name_qualifierObject

Returns the value of attribute idp_name_qualifier.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_name_qualifier
  @idp_name_qualifier
end

#idp_slo_target_urlObject

Returns the value of attribute idp_slo_target_url.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_slo_target_url
  @idp_slo_target_url
end

#idp_sso_target_urlObject

Returns the value of attribute idp_sso_target_url.



8
9
10
# File 'lib/spid/ruby-saml/settings.rb', line 8

def idp_sso_target_url
  @idp_sso_target_url
end

#issuerObject

Returns the value of attribute issuer.



11
12
13
# File 'lib/spid/ruby-saml/settings.rb', line 11

def issuer
  @issuer
end

#metadata_signedObject

Returns the value of attribute metadata_signed.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def 
  @metadata_signed
end

#name_identifier_formatObject

Returns the value of attribute name_identifier_format.



10
11
12
# File 'lib/spid/ruby-saml/settings.rb', line 10

def name_identifier_format
  @name_identifier_format
end

#name_identifier_valueObject

Returns the value of attribute name_identifier_value.



10
11
12
# File 'lib/spid/ruby-saml/settings.rb', line 10

def name_identifier_value
  @name_identifier_value
end

#organizationObject

Returns the value of attribute organization.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def organization
  @organization
end

#requested_attributeObject

Returns the value of attribute requested_attribute.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def requested_attribute
  @requested_attribute
end

#requested_attribute_eidas_fullObject

Returns the value of attribute requested_attribute_eidas_full.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def requested_attribute_eidas_full
  @requested_attribute_eidas_full
end

#requested_attribute_eidas_minObject

Returns the value of attribute requested_attribute_eidas_min.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def requested_attribute_eidas_min
  @requested_attribute_eidas_min
end

#requester_identificatorObject

Returns the value of attribute requester_identificator.



11
12
13
# File 'lib/spid/ruby-saml/settings.rb', line 11

def requester_identificator
  @requester_identificator
end

#sessionindexObject

Returns the value of attribute sessionindex.



11
12
13
# File 'lib/spid/ruby-saml/settings.rb', line 11

def sessionindex
  @sessionindex
end

#single_logout_destinationObject

Returns the value of attribute single_logout_destination.



12
13
14
# File 'lib/spid/ruby-saml/settings.rb', line 12

def single_logout_destination
  @single_logout_destination
end

#single_logout_service_bindingObject

Returns the value of attribute single_logout_service_binding.



12
13
14
# File 'lib/spid/ruby-saml/settings.rb', line 12

def single_logout_service_binding
  @single_logout_service_binding
end

#single_logout_service_urlObject

Returns the value of attribute single_logout_service_url.



12
13
14
# File 'lib/spid/ruby-saml/settings.rb', line 12

def single_logout_service_url
  @single_logout_service_url
end

#skip_validationObject

Returns the value of attribute skip_validation.



13
14
15
# File 'lib/spid/ruby-saml/settings.rb', line 13

def skip_validation
  @skip_validation
end

#sp_certObject

Returns the value of attribute sp_cert.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def sp_cert
  @sp_cert
end

#sp_external_consumer_certObject

Returns the value of attribute sp_external_consumer_cert.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def sp_external_consumer_cert
  @sp_external_consumer_cert
end

#sp_name_identifierObject

Returns the value of attribute sp_name_identifier.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def sp_name_identifier
  @sp_name_identifier
end

#sp_name_qualifierObject

Returns the value of attribute sp_name_qualifier.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def sp_name_qualifier
  @sp_name_qualifier
end

#sp_private_keyObject

Returns the value of attribute sp_private_key.



7
8
9
# File 'lib/spid/ruby-saml/settings.rb', line 7

def sp_private_key
  @sp_private_key
end

#tipo_accessoObject

Returns the value of attribute tipo_accesso.



13
14
15
# File 'lib/spid/ruby-saml/settings.rb', line 13

def tipo_accesso
  @tipo_accesso
end

Instance Method Details

#get_cert(cert) ⇒ OpenSSL::X509::Certificate|nil

Questo metodo e’ stato generalizzato sotto def get_sp_cert

return nil if sp_cert.nil? || sp_cert.empty?
#decoded_content = Base64.decode64(File.read(sp_cert))
formatted_cert = Spid::Saml::Utils.format_cert(sp_cert)
OpenSSL::X509::Certificate.new(File.read(sp_cert))

end



65
66
67
68
69
70
# File 'lib/spid/ruby-saml/settings.rb', line 65

def get_cert(cert)
  return nil if cert.nil? || cert.empty?
  #decoded_content = Base64.decode64(File.read(cert))
  formatted_cert = Spid::Saml::Utils.format_cert(cert)
  OpenSSL::X509::Certificate.new(File.read(cert))
end

#get_fingerprintObject



29
30
31
32
33
34
35
36
37
# File 'lib/spid/ruby-saml/settings.rb', line 29

def get_fingerprint
  idp_cert_fingerprint || begin
    idp_cert = get_idp_cert
    if idp_cert
      fingerprint_alg = Spid::XMLSecurity::BaseDocument.new.algorithm(idp_cert_fingerprint_algorithm).new
      fingerprint_alg.hexdigest(idp_cert.to_der).upcase.scan(/../).join(":")
    end
  end
end

#get_idp_certOpenSSL::X509::Certificate|nil



41
42
43
44
45
46
# File 'lib/spid/ruby-saml/settings.rb', line 41

def get_idp_cert
  return nil if idp_cert.nil? || idp_cert.empty?
  #decoded_content = Base64.decode64(File.read(idp_cert))
  #formatted_cert = Spid::Saml::Utils.format_cert(idp_cert)
  OpenSSL::X509::Certificate.new(File.read(idp_cert))
end

#get_sp_keyOpenSSL::PKey::RSA



76
77
78
79
80
81
# File 'lib/spid/ruby-saml/settings.rb', line 76

def get_sp_key
  return nil if sp_private_key.nil? || sp_private_key.empty?

  #formatted_private_key = Spid::Saml::Utils.format_private_key(sp_private_key)
  OpenSSL::PKey::RSA.new(File.read(sp_private_key))
end