libsaml 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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