libsaml 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Rakefile +1 -1
  4. data/lib/saml/artifact_resolve.rb +1 -1
  5. data/lib/saml/assertion.rb +15 -15
  6. data/lib/saml/authn_request.rb +9 -9
  7. data/lib/saml/complex_types/attribute_type.rb +2 -2
  8. data/lib/saml/complex_types/endpoint_type.rb +4 -4
  9. data/lib/saml/complex_types/indexed_endpoint_type.rb +3 -3
  10. data/lib/saml/complex_types/localized_name_type.rb +2 -2
  11. data/lib/saml/complex_types/role_descriptor_type.rb +6 -6
  12. data/lib/saml/complex_types/status_response_type.rb +2 -2
  13. data/lib/saml/elements/attribute_authority_descriptor.rb +1 -1
  14. data/lib/saml/elements/attribute_consuming_service.rb +3 -3
  15. data/lib/saml/elements/authn_context.rb +2 -2
  16. data/lib/saml/elements/authn_statement.rb +7 -7
  17. data/lib/saml/elements/conditions.rb +1 -1
  18. data/lib/saml/elements/contact_person.rb +8 -8
  19. data/lib/saml/elements/entities_descriptor.rb +6 -6
  20. data/lib/saml/elements/entity_descriptor.rb +6 -6
  21. data/lib/saml/elements/idp_entry.rb +4 -4
  22. data/lib/saml/elements/idp_list.rb +1 -1
  23. data/lib/saml/elements/idp_sso_descriptor.rb +2 -2
  24. data/lib/saml/elements/key_descriptor.rb +3 -3
  25. data/lib/saml/elements/key_info.rb +2 -2
  26. data/lib/saml/elements/key_info/x509_data.rb +2 -2
  27. data/lib/saml/elements/name_id.rb +3 -3
  28. data/lib/saml/elements/organization.rb +1 -1
  29. data/lib/saml/elements/publication_info.rb +4 -4
  30. data/lib/saml/elements/requested_attribute.rb +1 -1
  31. data/lib/saml/elements/requested_authn_context.rb +4 -4
  32. data/lib/saml/elements/signature.rb +2 -2
  33. data/lib/saml/elements/signature/canonicalization_method.rb +1 -1
  34. data/lib/saml/elements/signature/digest_method.rb +1 -1
  35. data/lib/saml/elements/signature/inclusive_namespaces.rb +1 -1
  36. data/lib/saml/elements/signature/reference.rb +2 -2
  37. data/lib/saml/elements/signature/signature_method.rb +1 -1
  38. data/lib/saml/elements/signature/signed_info.rb +1 -1
  39. data/lib/saml/elements/signature/transform.rb +1 -1
  40. data/lib/saml/elements/signature/transforms.rb +4 -4
  41. data/lib/saml/elements/sp_sso_descriptor.rb +3 -3
  42. data/lib/saml/elements/status.rb +1 -1
  43. data/lib/saml/elements/status_code.rb +3 -3
  44. data/lib/saml/elements/status_detail.rb +1 -1
  45. data/lib/saml/elements/sub_status_code.rb +2 -2
  46. data/lib/saml/elements/subject_confirmation.rb +4 -4
  47. data/lib/saml/elements/subject_confirmation_data.rb +4 -4
  48. data/lib/saml/elements/subject_locality.rb +1 -1
  49. data/lib/saml/logout_request.rb +4 -4
  50. data/lib/saml/version.rb +1 -1
  51. data/lib/saml/xml_helpers.rb +2 -2
  52. metadata +2 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b4d2d073d577870bc1cd1544f6a19256658cfa34ecce1a4657a27aa6fe6e557
4
- data.tar.gz: 4662c83c916fa7a6bbe202e6240c3c21823f4a9df971fee13bd90e422a66f6e9
3
+ metadata.gz: 625d43b2a0f0433163267cca39f16b6ac32c17c7076fcacbeaef1edf944be8ef
4
+ data.tar.gz: 21063fec7d626341f95a0827120b6a1094466a22ae1f7cbf7bc0ae1c7f5188b8
5
5
  SHA512:
6
- metadata.gz: b6a7a10818651da1e9622ae63f3d9324a65509d5ce7d1cb0e3e53e3aed69fa18b369b4b1c01b2ad7237cd51caca858d4390d399b36e64d4bbf0482ab93d76611
7
- data.tar.gz: 93e49102f8502bf4e60fed5fd5a47d86992fb9246af6a107dcf6aa8bed4ee46f4ee336f8e249ea55c535663ee4fe881b6e3a156586d25cad8f5d29d4cde9fcee
6
+ metadata.gz: 17089e506515c9ff63d181b0322b6d46fb4fabf6884319f01b5955dc72ddbb7c6ca3750ec76c938073ddc0f606a43549449553f27b1b8b9dadbff88dc56ce3cb
7
+ data.tar.gz: 31ece625fbeabaa530000a9822fd335311007c5f78e33d83534faf62c3927e460af7df2980304c413f58056e1adfa50a1132cb83a8e58d596d0976689c74c951
data/README.md CHANGED
@@ -100,7 +100,7 @@ class SamlController < ApplicationController
100
100
  provider = Saml.provider("my:very:original:entityid")
101
101
  destination = provider.single_sign_on_service_url(Saml::ProtocolBinding::HTTP_POST)
102
102
 
103
- authn_request = Saml::AuthnRequest.new(:destination => destination)
103
+ authn_request = Saml::AuthnRequest.new(destination: destination)
104
104
 
105
105
  session[:authn_request_id] = authn_request._id
106
106
 
data/Rakefile CHANGED
@@ -29,4 +29,4 @@ RSpec::Core::RakeTask.new(:core) do |spec|
29
29
  spec.rspec_opts = ['--backtrace']
30
30
  end
31
31
 
32
- task :default => [:core]
32
+ task default: [:core]
@@ -5,7 +5,7 @@ module Saml
5
5
  tag "ArtifactResolve"
6
6
  has_one :artifact, Saml::Artifact
7
7
 
8
- validates :artifact, :presence => true
8
+ validates :artifact, presence: true
9
9
 
10
10
  def initialize(*args)
11
11
  options = args.extract_options!
@@ -11,11 +11,11 @@ module Saml
11
11
  tag 'Assertion'
12
12
  namespace 'saml'
13
13
 
14
- attribute :_id, String, :tag => 'ID'
15
- attribute :version, String, :tag => 'Version'
16
- attribute :issue_instant, Time, :tag => 'IssueInstant', :on_save => lambda { |val| val.utc.xmlschema }
14
+ attribute :_id, String, tag: 'ID'
15
+ attribute :version, String, tag: 'Version'
16
+ attribute :issue_instant, Time, tag: 'IssueInstant', on_save: lambda { |val| val.utc.xmlschema }
17
17
 
18
- element :issuer, String, :namespace => 'saml', :tag => 'Issuer'
18
+ element :issuer, String, namespace: 'saml', tag: 'Issuer'
19
19
 
20
20
  has_one :signature, Saml::Elements::Signature, xpath: './'
21
21
  has_one :subject, Saml::Elements::Subject, xpath: './'
@@ -25,28 +25,28 @@ module Saml
25
25
  has_many :authn_statement, Saml::Elements::AuthnStatement, xpath: './'
26
26
  has_many :attribute_statements, Saml::Elements::AttributeStatement, xpath: './'
27
27
 
28
- validates :_id, :version, :issue_instant, :issuer, :presence => true
28
+ validates :_id, :version, :issue_instant, :issuer, presence: true
29
29
 
30
30
  validates :version, inclusion: %w(2.0)
31
- validate :check_issue_instant, :if => lambda { |val| val.issue_instant.present? }
31
+ validate :check_issue_instant, if: lambda { |val| val.issue_instant.present? }
32
32
 
33
33
  def initialize(*args)
34
34
  options = args.extract_options!
35
35
  if options[:subject].present?
36
36
  @subject = options.delete(:subject)
37
37
  else
38
- @subject = Saml::Elements::Subject.new(:name_id => options.delete(:name_id),
39
- :name_id_format => options.delete(:name_id_format),
40
- :recipient => options.delete(:recipient),
41
- :in_response_to => options.delete(:in_response_to))
38
+ @subject = Saml::Elements::Subject.new(name_id: options.delete(:name_id),
39
+ name_id_format: options.delete(:name_id_format),
40
+ recipient: options.delete(:recipient),
41
+ in_response_to: options.delete(:in_response_to))
42
42
  end
43
43
 
44
- @conditions = Saml::Elements::Conditions.new(:audience => options.delete(:audience))
44
+ @conditions = Saml::Elements::Conditions.new(audience: options.delete(:audience))
45
45
  authn_instant = options.delete(:authn_instant) || Time.now
46
- @authn_statement = Saml::Elements::AuthnStatement.new(:authn_instant => authn_instant,
47
- :address => options.delete(:address),
48
- :authn_context_class_ref => options.delete(:authn_context_class_ref),
49
- :session_index => options.delete(:session_index))
46
+ @authn_statement = Saml::Elements::AuthnStatement.new(authn_instant: authn_instant,
47
+ address: options.delete(:address),
48
+ authn_context_class_ref: options.delete(:authn_context_class_ref),
49
+ session_index: options.delete(:session_index))
50
50
  super(*(args << options))
51
51
  @_id ||= Saml.generate_id
52
52
  @issue_instant ||= Time.now
@@ -5,20 +5,20 @@ module Saml
5
5
  attr_accessor :xml_value
6
6
 
7
7
  tag 'AuthnRequest'
8
- attribute :force_authn, Boolean, :tag => "ForceAuthn"
9
- attribute :is_passive, Boolean, :tag => "IsPassive"
10
- attribute :assertion_consumer_service_index, Integer, :tag => "AssertionConsumerServiceIndex"
11
- attribute :assertion_consumer_service_url, String, :tag => "AssertionConsumerServiceURL"
12
- attribute :attribute_consuming_service_index, Integer, :tag => "AttributeConsumingServiceIndex"
13
- attribute :protocol_binding, String, :tag => "ProtocolBinding"
14
- attribute :provider_name, String, :tag => "ProviderName"
8
+ attribute :force_authn, Boolean, tag: "ForceAuthn"
9
+ attribute :is_passive, Boolean, tag: "IsPassive"
10
+ attribute :assertion_consumer_service_index, Integer, tag: "AssertionConsumerServiceIndex"
11
+ attribute :assertion_consumer_service_url, String, tag: "AssertionConsumerServiceURL"
12
+ attribute :attribute_consuming_service_index, Integer, tag: "AttributeConsumingServiceIndex"
13
+ attribute :protocol_binding, String, tag: "ProtocolBinding"
14
+ attribute :provider_name, String, tag: "ProviderName"
15
15
 
16
16
  has_one :requested_authn_context, Saml::Elements::RequestedAuthnContext
17
17
  has_one :scoping, Saml::Elements::Scoping
18
18
  has_one :name_id_policy, Saml::Elements::NameIdPolicy
19
19
 
20
- validates :force_authn, :inclusion => [true, false, nil]
21
- validates :assertion_consumer_service_index, :numericality => true, :if => lambda { |val|
20
+ validates :force_authn, inclusion: [true, false, nil]
21
+ validates :assertion_consumer_service_index, numericality: true, if: lambda { |val|
22
22
  val.assertion_consumer_service_index.present?
23
23
  }
24
24
 
@@ -8,7 +8,7 @@ module Saml
8
8
  register_namespace "saml", Saml::SAML_NAMESPACE
9
9
  register_namespace 'ext', Saml::ATTR_EXT_NAMESPACE
10
10
 
11
- attribute :name, String, :tag => 'Name'
11
+ attribute :name, String, tag: 'Name'
12
12
  attribute :format, String, tag: 'NameFormat'
13
13
  attribute :friendly_name, String, tag: 'FriendlyName'
14
14
 
@@ -17,7 +17,7 @@ module Saml
17
17
 
18
18
  has_many :attribute_values, Saml::Elements::AttributeValue
19
19
 
20
- validates :name, :presence => true
20
+ validates :name, presence: true
21
21
  end
22
22
 
23
23
  def initialize(*args)
@@ -7,11 +7,11 @@ module Saml
7
7
  included do
8
8
  namespace 'md'
9
9
 
10
- attribute :binding, String, :tag => "Binding"
11
- attribute :location, String, :tag => "Location"
12
- attribute :response_location, String, :tag => "ResponseLocation"
10
+ attribute :binding, String, tag: "Binding"
11
+ attribute :location, String, tag: "Location"
12
+ attribute :response_location, String, tag: "ResponseLocation"
13
13
 
14
- validates :binding, :location, :presence => true
14
+ validates :binding, :location, presence: true
15
15
  end
16
16
  end
17
17
  end
@@ -5,10 +5,10 @@ module Saml
5
5
  include EndpointType
6
6
 
7
7
  included do
8
- attribute :index, Integer, :tag => "index"
9
- attribute :is_default, XmlMapper::Boolean, :tag => "isDefault"
8
+ attribute :index, Integer, tag: "index"
9
+ attribute :is_default, XmlMapper::Boolean, tag: "isDefault"
10
10
 
11
- validates :index, :presence => true
11
+ validates :index, presence: true
12
12
  end
13
13
  end
14
14
  end
@@ -5,9 +5,9 @@ module Saml
5
5
  include Saml::Base
6
6
 
7
7
  included do
8
- attribute :language, String, :tag => 'xml:lang'
8
+ attribute :language, String, tag: 'xml:lang'
9
9
 
10
- validates :language, :presence => true
10
+ validates :language, presence: true
11
11
  end
12
12
  end
13
13
  end
@@ -9,15 +9,15 @@ module Saml
9
9
 
10
10
  PROTOCOL_SUPPORT_ENUMERATION = 'urn:oasis:names:tc:SAML:2.0:protocol' unless defined?(PROTOCOL_SUPPORT_ENUMERATION)
11
11
 
12
- attribute :_id, String, :tag => 'ID'
13
- attribute :valid_until, Time, :tag => 'validUntil'
14
- attribute :cache_duration, String, :tag => 'cacheDuration'
15
- attribute :protocol_support_enumeration, String, :tag => 'protocolSupportEnumeration'
16
- attribute :error_url, String, :tag => 'errorURL'
12
+ attribute :_id, String, tag: 'ID'
13
+ attribute :valid_until, Time, tag: 'validUntil'
14
+ attribute :cache_duration, String, tag: 'cacheDuration'
15
+ attribute :protocol_support_enumeration, String, tag: 'protocolSupportEnumeration'
16
+ attribute :error_url, String, tag: 'errorURL'
17
17
 
18
18
  has_many :key_descriptors, Saml::Elements::KeyDescriptor
19
19
 
20
- validates :protocol_support_enumeration, :presence => true, :inclusion => [PROTOCOL_SUPPORT_ENUMERATION]
20
+ validates :protocol_support_enumeration, presence: true, inclusion: [PROTOCOL_SUPPORT_ENUMERATION]
21
21
  end
22
22
 
23
23
  def initialize(*args)
@@ -8,10 +8,10 @@ module Saml
8
8
  include RequestAbstractType
9
9
 
10
10
  included do
11
- attribute :in_response_to, String, :tag => 'InResponseTo'
11
+ attribute :in_response_to, String, tag: 'InResponseTo'
12
12
  has_one :status, Saml::Elements::Status
13
13
 
14
- validates :in_response_to, :status, :presence => true
14
+ validates :in_response_to, :status, presence: true
15
15
  end
16
16
 
17
17
  def initialize(*args)
@@ -13,7 +13,7 @@ module Saml
13
13
  has_many :attribute_service, AttributeService
14
14
  has_many :name_id_format, Saml::Elements::NameIdFormat
15
15
 
16
- validates :attribute_service, :presence => true
16
+ validates :attribute_service, presence: true
17
17
 
18
18
  end
19
19
  end
@@ -7,14 +7,14 @@ module Saml
7
7
  register_namespace "md", Saml::MD_NAMESPACE
8
8
  namespace "md"
9
9
 
10
- attribute :index, Integer, :tag => "index"
11
- attribute :is_default, XmlMapper::Boolean, :tag => "isDefault"
10
+ attribute :index, Integer, tag: "index"
11
+ attribute :is_default, XmlMapper::Boolean, tag: "isDefault"
12
12
 
13
13
  has_many :service_names, ServiceName
14
14
  has_many :service_descriptions, ServiceDescription
15
15
  has_many :requested_attributes, RequestedAttribute
16
16
 
17
- validates :index, :service_names, :requested_attributes, :presence => true
17
+ validates :index, :service_names, :requested_attributes, presence: true
18
18
  end
19
19
  end
20
20
  end
@@ -5,11 +5,11 @@ module Saml
5
5
 
6
6
  tag "AuthnContext"
7
7
  namespace 'saml'
8
- element :authn_context_class_ref, String, :tag => "AuthnContextClassRef"
8
+ element :authn_context_class_ref, String, tag: "AuthnContextClassRef"
9
9
 
10
10
  has_many :authenticating_authorities, ::Saml::Elements::AuthenticatingAuthority
11
11
 
12
- validates :authn_context_class_ref, :inclusion => ClassRefs::ALL_CLASS_REFS + [nil]
12
+ validates :authn_context_class_ref, inclusion: ClassRefs::ALL_CLASS_REFS + [nil]
13
13
  end
14
14
  end
15
15
  end
@@ -6,18 +6,18 @@ module Saml
6
6
  tag "AuthnStatement"
7
7
  namespace 'saml'
8
8
 
9
- attribute :authn_instant, Time, :tag => "AuthnInstant", :on_save => lambda { |val| val.utc.xmlschema }
10
- attribute :session_index, String, :tag => "SessionIndex"
9
+ attribute :authn_instant, Time, tag: "AuthnInstant", on_save: lambda { |val| val.utc.xmlschema }
10
+ attribute :session_index, String, tag: "SessionIndex"
11
11
 
12
- has_one :subject_locality, Saml::Elements::SubjectLocality, :tag => "SubjectLocality"
13
- has_one :authn_context, Saml::Elements::AuthnContext, :tag => "AuthnContext"
12
+ has_one :subject_locality, Saml::Elements::SubjectLocality, tag: "SubjectLocality"
13
+ has_one :authn_context, Saml::Elements::AuthnContext, tag: "AuthnContext"
14
14
 
15
- validates :authn_instant, :authn_context, :presence => true
15
+ validates :authn_instant, :authn_context, presence: true
16
16
 
17
17
  def initialize(*args)
18
18
  options = args.extract_options!
19
- @subject_locality = Saml::Elements::SubjectLocality.new(:address => options.delete(:address)) if options[:address]
20
- @authn_context = Saml::Elements::AuthnContext.new(:authn_context_class_ref => options.delete(:authn_context_class_ref)) if options[:authn_context_class_ref]
19
+ @subject_locality = Saml::Elements::SubjectLocality.new(address: options.delete(:address)) if options[:address]
20
+ @authn_context = Saml::Elements::AuthnContext.new(authn_context_class_ref: options.delete(:authn_context_class_ref)) if options[:authn_context_class_ref]
21
21
  super(*(args << options))
22
22
  end
23
23
  end
@@ -13,7 +13,7 @@ module Saml
13
13
 
14
14
  def initialize(*args)
15
15
  options = args.extract_options!
16
- @audience_restriction = Saml::Elements::AudienceRestriction.new(:audience => options.delete(:audience)) if options[:audience]
16
+ @audience_restriction = Saml::Elements::AudienceRestriction.new(audience: options.delete(:audience)) if options[:audience]
17
17
  self.not_before = Time.now - Saml::Config.max_issue_instant_offset.minutes
18
18
  self.not_on_or_after = Time.now + Saml::Config.max_issue_instant_offset.minutes
19
19
  super(*(args << options))
@@ -16,18 +16,18 @@ module Saml
16
16
  ALL = [TECHNICAL, SUPPORT, ADMINISTRATIVE, BILLING, OTHER]
17
17
  end
18
18
 
19
- attribute :contact_type, String, :tag => "contactType"
19
+ attribute :contact_type, String, tag: "contactType"
20
20
 
21
- element :company, String, :tag => "Company"
22
- element :given_name, String, :tag => "GivenName"
23
- element :sur_name, String, :tag => "SurName"
21
+ element :company, String, tag: "Company"
22
+ element :given_name, String, tag: "GivenName"
23
+ element :sur_name, String, tag: "SurName"
24
24
 
25
- has_many :email_addresses, String, :tag => "EmailAddress"
26
- has_many :telephone_numbers, String, :tag => "TelephoneNumber"
25
+ has_many :email_addresses, String, tag: "EmailAddress"
26
+ has_many :telephone_numbers, String, tag: "TelephoneNumber"
27
27
 
28
- validates :contact_type, :inclusion => ContactTypes::ALL
28
+ validates :contact_type, inclusion: ContactTypes::ALL
29
29
 
30
- validates :email_addresses, :telephone_numbers, :presence => true
30
+ validates :email_addresses, :telephone_numbers, presence: true
31
31
  end
32
32
  end
33
33
  end
@@ -9,18 +9,18 @@ module Saml
9
9
  tag "EntitiesDescriptor"
10
10
  namespace "md"
11
11
 
12
- attribute :_id, String, :tag => "ID"
13
- attribute :name, String, :tag => "Name"
14
- attribute :valid_until, Time, :tag => "validUntil"
15
- attribute :cache_duration, String, :tag => "cacheDuration"
12
+ attribute :_id, String, tag: "ID"
13
+ attribute :name, String, tag: "Name"
14
+ attribute :valid_until, Time, tag: "validUntil"
15
+ attribute :cache_duration, String, tag: "cacheDuration"
16
16
 
17
17
  has_one :signature, Saml::Elements::Signature
18
18
 
19
19
  has_many :entities_descriptors, Saml::Elements::EntitiesDescriptor
20
20
  has_many :entity_descriptors, Saml::Elements::EntityDescriptor
21
21
 
22
- validates :entities_descriptors, :length => { :minimum => 1 }, :if => lambda { |ed| ed.entity_descriptors.blank? }
23
- validates :entity_descriptors, :length => { :minimum => 1 }, :if => lambda { |ed| ed.entities_descriptors.blank? }
22
+ validates :entities_descriptors, length: { minimum: 1 }, if: lambda { |ed| ed.entity_descriptors.blank? }
23
+ validates :entity_descriptors, length: { minimum: 1 }, if: lambda { |ed| ed.entities_descriptors.blank? }
24
24
 
25
25
  end
26
26
  end
@@ -9,11 +9,11 @@ module Saml
9
9
  tag 'EntityDescriptor'
10
10
  namespace 'md'
11
11
 
12
- attribute :_id, String, :tag => 'ID'
13
- attribute :name, String, :tag => "Name"
14
- attribute :entity_id, String, :tag => "entityID"
15
- attribute :valid_until, Time, :tag => "validUntil"
16
- attribute :cache_duration, String, :tag => "cacheDuration"
12
+ attribute :_id, String, tag: 'ID'
13
+ attribute :name, String, tag: "Name"
14
+ attribute :entity_id, String, tag: "entityID"
15
+ attribute :valid_until, Time, tag: "validUntil"
16
+ attribute :cache_duration, String, tag: "cacheDuration"
17
17
 
18
18
  has_one :signature, Saml::Elements::Signature
19
19
 
@@ -26,7 +26,7 @@ module Saml
26
26
  has_one :organization, Saml::Elements::Organization
27
27
  has_many :contact_persons, Saml::Elements::ContactPerson
28
28
 
29
- validates :entity_id, :presence => true
29
+ validates :entity_id, presence: true
30
30
 
31
31
  def initialize(*args)
32
32
  super(*args)
@@ -6,11 +6,11 @@ module Saml
6
6
  tag 'IDPEntry'
7
7
  namespace 'samlp'
8
8
 
9
- attribute :provider_id, String, :tag => 'ProviderID'
10
- attribute :name, String, :tag => 'Name'
11
- attribute :loc, String, :tag => 'Loc'
9
+ attribute :provider_id, String, tag: 'ProviderID'
10
+ attribute :name, String, tag: 'Name'
11
+ attribute :loc, String, tag: 'Loc'
12
12
 
13
- validates :provider_id, :presence => true
13
+ validates :provider_id, presence: true
14
14
  end
15
15
  end
16
16
  end
@@ -8,7 +8,7 @@ module Saml
8
8
 
9
9
  has_many :idp_entries, Saml::Elements::IdpEntry
10
10
 
11
- validates :idp_entries, :presence => true
11
+ validates :idp_entries, presence: true
12
12
 
13
13
  def initialize(*args)
14
14
  super(*args)
@@ -10,11 +10,11 @@ module Saml
10
10
 
11
11
  tag 'IDPSSODescriptor'
12
12
 
13
- attribute :want_authn_requests_signed, XmlMapper::Boolean, :tag => "WantAuthnRequestsSigned", :default => false
13
+ attribute :want_authn_requests_signed, XmlMapper::Boolean, tag: "WantAuthnRequestsSigned", default: false
14
14
 
15
15
  has_many :single_sign_on_services, SingleSignOnService
16
16
 
17
- validates :single_sign_on_services, :presence => true
17
+ validates :single_sign_on_services, presence: true
18
18
 
19
19
  def initialize(*args)
20
20
  super(*args)
@@ -14,12 +14,12 @@ module Saml
14
14
  tag 'KeyDescriptor'
15
15
  namespace 'md'
16
16
 
17
- attribute :use, String, :tag => "use"
17
+ attribute :use, String, tag: "use"
18
18
 
19
19
  has_one :key_info, KeyInfo
20
20
 
21
- validates :use, :inclusion => UseTypes::ALL
22
- validates :certificate, :presence => true
21
+ validates :use, inclusion: UseTypes::ALL
22
+ validates :certificate, presence: true
23
23
 
24
24
  def certificate
25
25
  key_info.try(:x509Data).try(:x509certificate)
@@ -9,11 +9,11 @@ module Saml
9
9
  namespace 'ds'
10
10
  tag 'KeyInfo'
11
11
 
12
- element :key_name, String, :namespace => 'ds', :tag => "KeyName"
12
+ element :key_name, String, namespace: 'ds', tag: "KeyName"
13
13
 
14
14
  has_one :x509Data, X509Data
15
15
 
16
- validates :x509Data, :presence => true
16
+ validates :x509Data, presence: true
17
17
 
18
18
  def initialize(cert = nil)
19
19
  if cert
@@ -7,9 +7,9 @@ module Saml
7
7
  tag 'X509Data'
8
8
  namespace 'ds'
9
9
 
10
- element :x509certificate, String, :tag => "X509Certificate", :on_save => lambda { |c| c.present? ? Base64.encode64(c.to_der) : "" }
10
+ element :x509certificate, String, tag: "X509Certificate", on_save: lambda { |c| c.present? ? Base64.encode64(c.to_der) : "" }
11
11
 
12
- validates :x509certificate, :presence => true
12
+ validates :x509certificate, presence: true
13
13
 
14
14
  def initialize(cert = nil)
15
15
  self.x509certificate = cert
@@ -7,9 +7,9 @@ module Saml
7
7
  register_namespace 'saml', Saml::SAML_NAMESPACE
8
8
  namespace 'saml'
9
9
 
10
- attribute :format, String, :tag => "Format"
11
- attribute :name_qualifier, String, :tag => "NameQualifier"
12
- attribute :sp_name_qualifier, String, :tag => "SPNameQualifier"
10
+ attribute :format, String, tag: "Format"
11
+ attribute :name_qualifier, String, tag: "NameQualifier"
12
+ attribute :sp_name_qualifier, String, tag: "SPNameQualifier"
13
13
 
14
14
  content :value, String
15
15
  end
@@ -10,7 +10,7 @@ module Saml
10
10
  has_many :organization_display_names, Saml::Elements::OrganizationDisplayName
11
11
  has_many :organization_urls, Saml::Elements::OrganizationUrl
12
12
 
13
- validates :organization_names, :organization_display_names, :organization_urls, :presence => true
13
+ validates :organization_names, :organization_display_names, :organization_urls, presence: true
14
14
  end
15
15
  end
16
16
  end
@@ -8,11 +8,11 @@ module Saml
8
8
  register_namespace 'mdrpi', Saml::MD_RPI_NAMESPACE
9
9
  namespace 'mdrpi'
10
10
 
11
- attribute :publisher, String, :tag => 'publisher'
12
- attribute :creation_instant, Time, :tag => 'creationInstant', on_save: lambda { |val| val.utc.xmlschema if val.present? }
13
- attribute :publication_id, String, :tag => 'publicationId'
11
+ attribute :publisher, String, tag: 'publisher'
12
+ attribute :creation_instant, Time, tag: 'creationInstant', on_save: lambda { |val| val.utc.xmlschema if val.present? }
13
+ attribute :publication_id, String, tag: 'publicationId'
14
14
 
15
- validates :publisher, :presence => true
15
+ validates :publisher, presence: true
16
16
 
17
17
  end
18
18
  end
@@ -8,7 +8,7 @@ module Saml
8
8
  register_namespace "md", Saml::MD_NAMESPACE
9
9
  namespace "md"
10
10
 
11
- attribute :is_required, XmlMapper::Boolean, :tag => "isRequired"
11
+ attribute :is_required, XmlMapper::Boolean, tag: "isRequired"
12
12
  end
13
13
  end
14
14
  end
@@ -17,12 +17,12 @@ module Saml
17
17
  tag 'RequestedAuthnContext'
18
18
  namespace 'samlp'
19
19
 
20
- attribute :comparison, String, :tag => "Comparison"
20
+ attribute :comparison, String, tag: "Comparison"
21
21
 
22
- has_many :authn_context_class_refs, String, :namespace => "saml", :tag => "AuthnContextClassRef"
22
+ has_many :authn_context_class_refs, String, namespace: "saml", tag: "AuthnContextClassRef"
23
23
 
24
- validates :authn_context_class_ref, :presence => true, :inclusion => ALL_CLASS_REFS
25
- validates :comparison, :inclusion => ComparisonTypes::ALL
24
+ validates :authn_context_class_ref, presence: true, inclusion: ALL_CLASS_REFS
25
+ validates :comparison, inclusion: ComparisonTypes::ALL
26
26
 
27
27
  def authn_context_class_ref
28
28
  authn_context_class_refs.first if authn_context_class_refs
@@ -18,13 +18,13 @@ module Saml
18
18
  namespace 'ds'
19
19
 
20
20
  has_one :signed_info, SignedInfo
21
- element :signature_value, String, :tag => "SignatureValue", :state_when_nil => true
21
+ element :signature_value, String, tag: "SignatureValue", state_when_nil: true
22
22
  has_one :key_info, KeyInfo
23
23
 
24
24
  def initialize(*args)
25
25
  super(*args)
26
26
  options = args.extract_options!
27
- @signed_info ||= SignedInfo.new(:uri => options.delete(:uri), :digest_value => options.delete(:digest_value))
27
+ @signed_info ||= SignedInfo.new(uri: options.delete(:uri), digest_value: options.delete(:digest_value))
28
28
  end
29
29
 
30
30
  def key_name
@@ -7,7 +7,7 @@ module Saml
7
7
  tag "CanonicalizationMethod"
8
8
  namespace 'ds'
9
9
 
10
- attribute :algorithm, String, :tag => "Algorithm"
10
+ attribute :algorithm, String, tag: "Algorithm"
11
11
 
12
12
  def initialize(*args)
13
13
  @algorithm = "http://www.w3.org/2001/10/xml-exc-c14n#"
@@ -7,7 +7,7 @@ module Saml
7
7
  tag "DigestMethod"
8
8
  namespace 'ds'
9
9
 
10
- attribute :algorithm, String, :tag => "Algorithm"
10
+ attribute :algorithm, String, tag: "Algorithm"
11
11
 
12
12
  def initialize(*args)
13
13
  @algorithm = Saml::Config.digest_algorithm
@@ -8,7 +8,7 @@ module Saml
8
8
  namespace 'ec'
9
9
  tag 'InclusiveNamespaces'
10
10
 
11
- attribute :prefix_list, String, :tag => "PrefixList"
11
+ attribute :prefix_list, String, tag: "PrefixList"
12
12
 
13
13
  def initialize(*args)
14
14
  @prefix_list = Saml::Config.inclusive_namespaces_prefix_list
@@ -8,10 +8,10 @@ module Saml
8
8
  register_namespace 'ds', Saml::XML_DSIG_NAMESPACE
9
9
  namespace 'ds'
10
10
 
11
- attribute :uri, String, :tag => "URI"
11
+ attribute :uri, String, tag: "URI"
12
12
  element :transforms, Transforms
13
13
  element :digest_method, DigestMethod
14
- element :digest_value, String, :tag => "DigestValue", :state_when_nil => true
14
+ element :digest_value, String, tag: "DigestValue", state_when_nil: true
15
15
 
16
16
  def initialize(*args)
17
17
  @transforms = Transforms.new
@@ -7,7 +7,7 @@ module Saml
7
7
  tag "SignatureMethod"
8
8
  namespace 'ds'
9
9
 
10
- attribute :algorithm, String, :tag => "Algorithm"
10
+ attribute :algorithm, String, tag: "Algorithm"
11
11
 
12
12
  def initialize(*args)
13
13
  @algorithm = Saml::Config.signature_algorithm
@@ -16,7 +16,7 @@ module Saml
16
16
  @signature_method = SignatureMethod.new
17
17
  super(*args)
18
18
  options = args.extract_options!
19
- @reference ||= Reference.new(:uri => options.delete(:uri), :digest_value => options.delete(:digest_value))
19
+ @reference ||= Reference.new(uri: options.delete(:uri), digest_value: options.delete(:digest_value))
20
20
  end
21
21
  end
22
22
  end
@@ -7,7 +7,7 @@ module Saml
7
7
  tag "Transform"
8
8
  namespace 'ds'
9
9
 
10
- attribute :algorithm, String, :tag => "Algorithm"
10
+ attribute :algorithm, String, tag: "Algorithm"
11
11
  has_one :inclusive_namespaces, InclusiveNamespaces
12
12
 
13
13
  def inclusive_namespaces
@@ -7,12 +7,12 @@ module Saml
7
7
  tag "Transforms"
8
8
  namespace 'ds'
9
9
 
10
- has_many :transform, Transform, :tag => "Transform"
10
+ has_many :transform, Transform, tag: "Transform"
11
11
 
12
12
  def initialize(*args)
13
- @transform = [Transform.new(:algorithm => "http://www.w3.org/2000/09/xmldsig#enveloped-signature"),
14
- Transform.new(:algorithm => "http://www.w3.org/2001/10/xml-exc-c14n#",
15
- :inclusive_namespaces => InclusiveNamespaces.new)]
13
+ @transform = [Transform.new(algorithm: "http://www.w3.org/2000/09/xmldsig#enveloped-signature"),
14
+ Transform.new(algorithm: "http://www.w3.org/2001/10/xml-exc-c14n#",
15
+ inclusive_namespaces: InclusiveNamespaces.new)]
16
16
  super(*args)
17
17
  end
18
18
  end
@@ -10,13 +10,13 @@ module Saml
10
10
 
11
11
  tag 'SPSSODescriptor'
12
12
 
13
- attribute :authn_requests_signed, Boolean, :tag => "AuthnRequestsSigned", :default => false
14
- attribute :want_assertions_signed, Boolean, :tag => "WantAssertionsSigned", :default => false
13
+ attribute :authn_requests_signed, Boolean, tag: "AuthnRequestsSigned", default: false
14
+ attribute :want_assertions_signed, Boolean, tag: "WantAssertionsSigned", default: false
15
15
 
16
16
  has_many :assertion_consumer_services, AssertionConsumerService
17
17
  has_many :attribute_consuming_services, Saml::Elements::AttributeConsumingService
18
18
 
19
- validates :assertion_consumer_services, :presence => true
19
+ validates :assertion_consumer_services, presence: true
20
20
 
21
21
  def initialize(*args)
22
22
  super(*args)
@@ -11,7 +11,7 @@ module Saml
11
11
 
12
12
  element :status_message, String, tag: 'StatusMessage'
13
13
 
14
- validates :status_code, :presence => true
14
+ validates :status_code, presence: true
15
15
 
16
16
  end
17
17
  end
@@ -6,15 +6,15 @@ module Saml
6
6
  tag "StatusCode"
7
7
  namespace 'samlp'
8
8
 
9
- attribute :value, String, :tag => "Value"
9
+ attribute :value, String, tag: "Value"
10
10
 
11
11
  has_one :sub_status_code, Saml::Elements::SubStatusCode
12
12
 
13
- validates :value, :presence => true, :inclusion => TopLevelCodes::ALL
13
+ validates :value, presence: true, inclusion: TopLevelCodes::ALL
14
14
 
15
15
  def initialize(*args)
16
16
  options = args.extract_options!
17
- @sub_status_code = Saml::Elements::SubStatusCode.new(:value => options.delete(:sub_status_value)) if options[:sub_status_value]
17
+ @sub_status_code = Saml::Elements::SubStatusCode.new(value: options.delete(:sub_status_value)) if options[:sub_status_value]
18
18
  super(*(args << options))
19
19
  end
20
20
 
@@ -6,7 +6,7 @@ module Saml
6
6
  tag "StatusDetail"
7
7
  namespace 'samlp'
8
8
 
9
- element :status_value, String, :tag => 'StatusValue'
9
+ element :status_value, String, tag: 'StatusValue'
10
10
 
11
11
  def initialize(*args)
12
12
  options = args.extract_options!
@@ -6,9 +6,9 @@ module Saml
6
6
  tag "StatusCode"
7
7
  namespace 'samlp'
8
8
 
9
- attribute :value, String, :tag => "Value"
9
+ attribute :value, String, tag: "Value"
10
10
 
11
- validates :value, :presence => true, :inclusion => SubStatusCodes::ALL
11
+ validates :value, presence: true, inclusion: SubStatusCodes::ALL
12
12
  end
13
13
  end
14
14
  end
@@ -11,16 +11,16 @@ module Saml
11
11
  register_namespace 'saml', Saml::SAML_NAMESPACE
12
12
  namespace 'saml'
13
13
 
14
- attribute :_method, String, :tag => 'Method'
14
+ attribute :_method, String, tag: 'Method'
15
15
 
16
16
  has_one :subject_confirmation_data, Saml::Elements::SubjectConfirmationData
17
17
 
18
- validates :_method, :presence => true
18
+ validates :_method, presence: true
19
19
 
20
20
  def initialize(*args)
21
21
  options = args.extract_options!
22
- @subject_confirmation_data = Saml::Elements::SubjectConfirmationData.new(:recipient => options.delete(:recipient),
23
- :in_response_to => options.delete(:in_response_to))
22
+ @subject_confirmation_data = Saml::Elements::SubjectConfirmationData.new(recipient: options.delete(:recipient),
23
+ in_response_to: options.delete(:in_response_to))
24
24
  super(*(args << options))
25
25
  @_method ||= Methods::BEARER
26
26
  end
@@ -7,11 +7,11 @@ module Saml
7
7
  register_namespace 'saml', Saml::SAML_NAMESPACE
8
8
  namespace 'saml'
9
9
 
10
- attribute :not_on_or_after, Time, :tag => "NotOnOrAfter", :on_save => lambda { |val| val.utc.xmlschema }
11
- attribute :recipient, String, :tag => "Recipient"
12
- attribute :in_response_to, String, :tag => "InResponseTo"
10
+ attribute :not_on_or_after, Time, tag: "NotOnOrAfter", on_save: lambda { |val| val.utc.xmlschema }
11
+ attribute :recipient, String, tag: "Recipient"
12
+ attribute :in_response_to, String, tag: "InResponseTo"
13
13
 
14
- validates :not_on_or_after, :in_response_to, :recipient, :presence => true
14
+ validates :not_on_or_after, :in_response_to, :recipient, presence: true
15
15
 
16
16
  def initialize(*args)
17
17
  options = args.extract_options!
@@ -6,7 +6,7 @@ module Saml
6
6
  tag "SubjectLocality"
7
7
  namespace 'saml'
8
8
 
9
- attribute :address, String, :tag => "Address"
9
+ attribute :address, String, tag: "Address"
10
10
  end
11
11
  end
12
12
  end
@@ -6,11 +6,11 @@ module Saml
6
6
 
7
7
  tag "LogoutRequest"
8
8
 
9
- attribute :not_on_or_after, Time, :tag => "NotOnOrAfter", :on_save => lambda { |val| val.utc.xmlschema if val.present? }
9
+ attribute :not_on_or_after, Time, tag: "NotOnOrAfter", on_save: lambda { |val| val.utc.xmlschema if val.present? }
10
10
 
11
- element :name_id, String, :tag => "NameID", :namespace => 'saml'
12
- element :session_index, String, :tag => "SessionIndex", :namespace => 'samlp'
11
+ element :name_id, String, tag: "NameID", namespace: 'saml'
12
+ element :session_index, String, tag: "SessionIndex", namespace: 'samlp'
13
13
 
14
- validates :name_id, :presence => true
14
+ validates :name_id, presence: true
15
15
  end
16
16
  end
data/lib/saml/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Saml
2
- VERSION = '3.3.0'
2
+ VERSION = '3.4.0'
3
3
  end
@@ -34,8 +34,8 @@ module Saml
34
34
  builder = Nokogiri::XML::Builder.new
35
35
  body = self.to_xml(builder)
36
36
 
37
- builder = Nokogiri::XML::Builder.new(:encoding => "UTF-8")
38
- builder.Envelope(:'xmlns:soapenv' => "http://schemas.xmlsoap.org/soap/envelope/") do |xml|
37
+ builder = Nokogiri::XML::Builder.new(encoding: "UTF-8")
38
+ builder.Envelope('xmlns:soapenv': "http://schemas.xmlsoap.org/soap/envelope/") do |xml|
39
39
  xml.parent.namespace = xml.parent.namespace_definitions.find { |n| n.prefix == 'soapenv' }
40
40
 
41
41
  if header_options = options[:header]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libsaml
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benoist Claassen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-21 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -59,12 +59,6 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.8'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 1.8.2
65
- - - "<="
66
- - !ruby/object:Gem::Version
67
- version: 1.8.5
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,12 +66,6 @@ dependencies:
72
66
  - - "~>"
73
67
  - !ruby/object:Gem::Version
74
68
  version: '1.8'
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: 1.8.2
78
- - - "<="
79
- - !ruby/object:Gem::Version
80
- version: 1.8.5
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: xmldsig
83
71
  requirement: !ruby/object:Gem::Requirement