saml-kit 1.2.0 → 1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d77013b5cfdff5bcf857a48182eacafc9a8683cb0171c4cd383a8d53f522f5ea
4
- data.tar.gz: 4a56b20855f4e83f47545b7fce9c31f47216b0bdc51bacdab6a29ba1e410f3d9
3
+ metadata.gz: cf6c86073d43c4c6b2f55aa091d71e1fb9e58d823e1e25936ba598c9db8c2304
4
+ data.tar.gz: 1896cf94e32bd938a3b4c3ae96c5e5b88a1433c8988866fa6d12e64a035812d5
5
5
  SHA512:
6
- metadata.gz: f7eed807fd7d0a00de9fa669e6b52ae65f5487bcc1b408065d3c510d6323a7879d4412c67abe2a79a5fe7a08a38fa17296112586b4cd960dd4c13e1ca30ba7fa
7
- data.tar.gz: 2832e9ba9fc7453ea1db370b69153db556b72cb2d0e0990e3216412669fb6212c73145654ae4edd0f2c4d04b5b464979a342a11343bc3c2bff4963b877379590
6
+ metadata.gz: 1287fa37a0daaf27d591dcdfd03241897ef7b8773c4d1e9a4cab96c9940b5b475e54691062e76916e44e030c494aa34f32fa5a3496d295366f8a16b01e5333c2
7
+ data.tar.gz: 10b7edcc0ed623d9a84fbe03926306e0d224eb20fde850ca2900086882f518b77029952f2f35ca33a33b80412513c0669c6a1296d72eaecb12f9bef38afe9e80
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- Version 1.2.0
1
+ Version 1.4.0
2
2
 
3
3
  # Changelog
4
4
  All notable changes to this project will be documented in this file.
@@ -8,6 +8,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [1.4.0] - 2025-03-26
12
+ ### Added
13
+ - Add support for converting `Assertion` xml to `Saml::Document`
14
+
15
+ ### Removed
16
+ - Drop support for ruby 2.7
17
+ - Drop support for ruby 3.0
18
+
19
+ ## [1.3.0] - 2022-03-30
20
+ ### Removed
21
+
22
+ - Drop support for ruby 2.6
23
+ - Drop support for ruby 2.5
24
+
25
+ ### Changed
26
+
27
+ - fix: upgrade to Ruby 2.7+ `*args` syntax.
28
+ - fix: resolve deprecation warnings
29
+
11
30
  ## [1.2.0] - 2021-02-04
12
31
  ### Changed
13
32
  - Use [ActiveModel::Errors#add](https://www.rubydoc.info/docs/rails/ActiveModel%2FErrors:add)
@@ -87,7 +106,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
87
106
  ### Removed
88
107
  - Removed optional SessionNotOnOrAfter attribute from AuthnStatement.
89
108
 
90
- [Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...HEAD
109
+ [Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.4.0...HEAD
110
+ [1.4.0]: https://github.com/xlgmokha/saml-kit/compare/v1.3.0...v1.4.0
111
+ [1.3.0]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...v1.3.0
91
112
  [1.2.0]: https://github.com/xlgmokha/saml-kit/compare/v1.1.0...v1.2.0
92
113
  [1.1.0]: https://github.com/xlgmokha/saml-kit/compare/v1.0.31...v1.1.0
93
114
  [1.0.31]: https://github.com/xlgmokha/saml-kit/compare/v1.0.30...v1.0.31
data/Gemfile.lock CHANGED
@@ -1,110 +1,166 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- saml-kit (1.2.0)
5
- activemodel (~> 5.1)
6
- net-hippie (~> 0.1)
4
+ saml-kit (1.4.0)
5
+ activemodel (>= 5.1)
6
+ base64 (~> 0.1)
7
+ cgi (~> 0.1)
8
+ forwardable (~> 1.0)
9
+ logger (~> 1.0)
10
+ net-hippie (~> 1.0)
11
+ nokogiri (~> 1.0)
12
+ securerandom (~> 0.1)
13
+ uri (~> 1.0)
7
14
  xml-kit (~> 0.4)
8
15
 
9
16
  GEM
10
17
  remote: https://rubygems.org/
11
18
  specs:
12
- activemodel (5.2.4.4)
13
- activesupport (= 5.2.4.4)
14
- activesupport (5.2.4.4)
15
- concurrent-ruby (~> 1.0, >= 1.0.2)
16
- i18n (>= 0.7, < 2)
17
- minitest (~> 5.1)
18
- tzinfo (~> 1.1)
19
- addressable (2.7.0)
20
- public_suffix (>= 2.0.2, < 5.0)
21
- ast (2.4.2)
19
+ activemodel (7.2.2.1)
20
+ activesupport (= 7.2.2.1)
21
+ activesupport (7.2.2.1)
22
+ base64
23
+ benchmark (>= 0.3)
24
+ bigdecimal
25
+ concurrent-ruby (~> 1.0, >= 1.3.1)
26
+ connection_pool (>= 2.2.5)
27
+ drb
28
+ i18n (>= 1.6, < 2)
29
+ logger (>= 1.4.2)
30
+ minitest (>= 5.1)
31
+ securerandom (>= 0.3)
32
+ tzinfo (~> 2.0, >= 2.0.5)
33
+ addressable (2.8.7)
34
+ public_suffix (>= 2.0.2, < 7.0)
35
+ ast (2.4.3)
36
+ base64 (0.2.0)
37
+ benchmark (0.4.0)
22
38
  benchmark-malloc (0.2.0)
23
39
  benchmark-perf (0.6.0)
24
40
  benchmark-trend (0.4.0)
25
- builder (3.2.4)
26
- bundler-audit (0.7.0.1)
41
+ bigdecimal (3.1.9)
42
+ builder (3.3.0)
43
+ bundler-audit (0.9.2)
27
44
  bundler (>= 1.2.0, < 3)
28
- thor (>= 0.18, < 2)
29
- concurrent-ruby (1.1.8)
30
- crack (0.4.5)
45
+ thor (~> 1.0)
46
+ cgi (0.4.2)
47
+ concurrent-ruby (1.3.5)
48
+ connection_pool (2.5.0)
49
+ crack (1.0.0)
50
+ bigdecimal
31
51
  rexml
32
- diff-lcs (1.4.4)
33
- docile (1.3.5)
34
- ffaker (2.17.0)
35
- hashdiff (1.0.1)
36
- i18n (1.8.8)
52
+ date (3.4.1)
53
+ diff-lcs (1.6.1)
54
+ docile (1.4.1)
55
+ drb (2.2.1)
56
+ erb (4.0.4)
57
+ cgi (>= 0.3.3)
58
+ ffaker (2.24.0)
59
+ forwardable (1.3.3)
60
+ hashdiff (1.1.2)
61
+ i18n (1.14.7)
37
62
  concurrent-ruby (~> 1.0)
38
- minitest (5.14.3)
39
- net-hippie (0.3.2)
40
- nokogiri (1.11.1-x86_64-linux)
63
+ io-console (0.8.0)
64
+ irb (1.15.1)
65
+ pp (>= 0.6.0)
66
+ rdoc (>= 4.0.0)
67
+ reline (>= 0.4.2)
68
+ json (2.10.2)
69
+ language_server-protocol (3.17.0.4)
70
+ lint_roller (1.1.0)
71
+ logger (1.6.6)
72
+ mini_portile2 (2.8.8)
73
+ minitest (5.25.5)
74
+ net-hippie (1.2.0)
75
+ logger (~> 1.0)
76
+ nokogiri (1.18.6)
77
+ mini_portile2 (~> 2.8.2)
41
78
  racc (~> 1.4)
42
- parallel (1.20.1)
43
- parser (3.0.0.0)
79
+ parallel (1.26.3)
80
+ parser (3.3.7.3)
44
81
  ast (~> 2.4.1)
45
- public_suffix (4.0.6)
46
- racc (1.5.2)
47
- rainbow (3.0.0)
48
- rake (13.0.3)
49
- regexp_parser (2.0.3)
50
- rexml (3.2.4)
51
- rspec (3.10.0)
52
- rspec-core (~> 3.10.0)
53
- rspec-expectations (~> 3.10.0)
54
- rspec-mocks (~> 3.10.0)
82
+ racc
83
+ pp (0.6.2)
84
+ prettyprint
85
+ prettyprint (0.2.0)
86
+ prism (1.4.0)
87
+ psych (5.2.3)
88
+ date
89
+ stringio
90
+ public_suffix (6.0.1)
91
+ racc (1.8.1)
92
+ rainbow (3.1.1)
93
+ rake (13.2.1)
94
+ rdoc (6.13.0)
95
+ psych (>= 4.0.0)
96
+ regexp_parser (2.10.0)
97
+ reline (0.6.0)
98
+ io-console (~> 0.5)
99
+ rexml (3.4.1)
100
+ rspec (3.13.0)
101
+ rspec-core (~> 3.13.0)
102
+ rspec-expectations (~> 3.13.0)
103
+ rspec-mocks (~> 3.13.0)
55
104
  rspec-benchmark (0.6.0)
56
105
  benchmark-malloc (~> 0.2)
57
106
  benchmark-perf (~> 0.6)
58
107
  benchmark-trend (~> 0.4)
59
108
  rspec (>= 3.0)
60
- rspec-core (3.10.1)
61
- rspec-support (~> 3.10.0)
62
- rspec-expectations (3.10.1)
109
+ rspec-core (3.13.3)
110
+ rspec-support (~> 3.13.0)
111
+ rspec-expectations (3.13.3)
63
112
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.10.0)
65
- rspec-mocks (3.10.2)
113
+ rspec-support (~> 3.13.0)
114
+ rspec-mocks (3.13.2)
66
115
  diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.10.0)
68
- rspec-support (3.10.2)
69
- rubocop (0.93.1)
116
+ rspec-support (~> 3.13.0)
117
+ rspec-support (3.13.2)
118
+ rubocop (1.75.1)
119
+ json (~> 2.3)
120
+ language_server-protocol (~> 3.17.0.2)
121
+ lint_roller (~> 1.1.0)
70
122
  parallel (~> 1.10)
71
- parser (>= 2.7.1.5)
123
+ parser (>= 3.3.0.2)
72
124
  rainbow (>= 2.2.2, < 4.0)
73
- regexp_parser (>= 1.8)
74
- rexml
75
- rubocop-ast (>= 0.6.0)
125
+ regexp_parser (>= 2.9.3, < 3.0)
126
+ rubocop-ast (>= 1.43.0, < 2.0)
76
127
  ruby-progressbar (~> 1.7)
77
- unicode-display_width (>= 1.4.0, < 2.0)
78
- rubocop-ast (1.4.1)
79
- parser (>= 2.7.1.5)
80
- rubocop-rspec (1.44.1)
81
- rubocop (~> 0.87)
82
- rubocop-ast (>= 0.7.1)
83
- ruby-prof (1.4.2)
84
- ruby-progressbar (1.11.0)
85
- simplecov (0.21.2)
128
+ unicode-display_width (>= 2.4.0, < 4.0)
129
+ rubocop-ast (1.43.0)
130
+ parser (>= 3.3.7.2)
131
+ prism (~> 1.4)
132
+ rubocop-rspec (3.5.0)
133
+ lint_roller (~> 1.1)
134
+ rubocop (~> 1.72, >= 1.72.1)
135
+ ruby-prof (1.7.1)
136
+ ruby-progressbar (1.13.0)
137
+ securerandom (0.4.1)
138
+ simplecov (0.22.0)
86
139
  docile (~> 1.1)
87
140
  simplecov-html (~> 0.11)
88
141
  simplecov_json_formatter (~> 0.1)
89
- simplecov-html (0.12.3)
90
- simplecov_json_formatter (0.1.2)
91
- thor (1.1.0)
92
- thread_safe (0.3.6)
93
- tilt (2.0.10)
94
- tzinfo (1.2.9)
95
- thread_safe (~> 0.1)
96
- unicode-display_width (1.7.0)
97
- webmock (3.11.2)
98
- addressable (>= 2.3.6)
142
+ simplecov-html (0.13.1)
143
+ simplecov_json_formatter (0.1.4)
144
+ stringio (3.1.6)
145
+ thor (1.3.2)
146
+ tilt (2.6.0)
147
+ tzinfo (2.0.6)
148
+ concurrent-ruby (~> 1.0)
149
+ unicode-display_width (3.1.4)
150
+ unicode-emoji (~> 4.0, >= 4.0.4)
151
+ unicode-emoji (4.0.4)
152
+ uri (1.0.3)
153
+ webmock (3.25.1)
154
+ addressable (>= 2.8.0)
99
155
  crack (>= 0.3.2)
100
156
  hashdiff (>= 0.4.0, < 2.0.0)
101
- xml-kit (0.5.0)
157
+ xml-kit (0.6.0)
102
158
  activemodel (>= 4.2.0)
103
159
  builder (~> 3.2)
104
160
  nokogiri (~> 1.10)
105
161
  tilt (>= 1.4.1)
106
162
  xmldsig (~> 0.6)
107
- xmldsig (0.6.6)
163
+ xmldsig (0.7.0)
108
164
  nokogiri (>= 1.6.8, < 2.0.0)
109
165
 
110
166
  PLATFORMS
@@ -113,16 +169,18 @@ PLATFORMS
113
169
  DEPENDENCIES
114
170
  bundler (~> 2.0)
115
171
  bundler-audit (~> 0.6)
172
+ erb (~> 4.0)
116
173
  ffaker (~> 2.7)
174
+ irb (~> 1.0)
117
175
  rake (~> 13.0)
118
176
  rspec (~> 3.0)
119
177
  rspec-benchmark (~> 0.3)
120
- rubocop (~> 0.52)
121
- rubocop-rspec (~> 1.22)
178
+ rubocop (~> 1.0)
179
+ rubocop-rspec (~> 3.0)
122
180
  ruby-prof
123
181
  saml-kit!
124
182
  simplecov (~> 0.15)
125
183
  webmock (~> 3.1)
126
184
 
127
185
  BUNDLED WITH
128
- 2.1.4
186
+ 2.6.6
data/README.md CHANGED
@@ -1,9 +1,3 @@
1
- ![SAML-Kit](https://github.com/xlgmokha/saml-kit/raw/main/spec/examples/saml-kit.gif)
2
-
3
- *Logo courtesy of [@speasley](https://github.com/speasley)*
4
-
5
- [![Gem Version](https://badge.fury.io/rb/saml-kit.svg)](https://rubygems.org/gems/saml-kit)
6
-
7
1
  Saml::Kit is a library with the purpose of creating and consuming SAML
8
2
  documents. It supports the HTTP Post and HTTP Redirect bindings. It can
9
3
  create Service Provider Metadata, Identity Provider Metadata,
@@ -126,7 +126,7 @@ module Saml
126
126
  def must_have_valid_signature
127
127
  return if !signed? || signature.valid?
128
128
 
129
- signature.errors.each do |attribute, message|
129
+ signature.each_error do |attribute, message|
130
130
  errors.add(attribute, message)
131
131
  end
132
132
  end
@@ -51,9 +51,9 @@ module Saml
51
51
  @metadatum.each(&block)
52
52
  end
53
53
 
54
- def method_missing(name, *args)
54
+ def method_missing(name, *args, **kwargs)
55
55
  if (target = find { |x| x.respond_to?(name) })
56
- target.public_send(name, *args)
56
+ target.public_send(name, *args, **kwargs)
57
57
  else
58
58
  super
59
59
  end
@@ -9,20 +9,20 @@ module Saml
9
9
  extend ActiveSupport::Concern
10
10
 
11
11
  class_methods do
12
- def build(*args)
13
- builder(*args) do |builder|
12
+ def build(*args, **kwargs)
13
+ builder(*args, **kwargs) do |builder|
14
14
  yield builder if block_given?
15
15
  end.build
16
16
  end
17
17
 
18
- def build_xml(*args)
19
- builder(*args) do |builder|
18
+ def build_xml(*args, **kwargs)
19
+ builder(*args, **kwargs) do |builder|
20
20
  yield builder if block_given?
21
21
  end.to_xml
22
22
  end
23
23
 
24
- def builder(*args)
25
- builder_class.new(*args).tap do |builder|
24
+ def builder(*args, **kwargs)
25
+ builder_class.new(*args, **kwargs).tap do |builder|
26
26
  yield builder if block_given?
27
27
  end
28
28
  end
@@ -9,7 +9,7 @@ module Saml
9
9
  # @!visibility private
10
10
  def error_message(attribute, options = {})
11
11
  default_options = { scope: "saml/kit.errors.#{name}" }
12
- I18n.translate(attribute, default_options.merge(options))
12
+ I18n.translate(attribute, **default_options.merge(options))
13
13
  end
14
14
  end
15
15
  end
@@ -53,7 +53,7 @@ module Saml
53
53
  return unless signature.present?
54
54
 
55
55
  signature.valid?
56
- signature.errors.each do |attribute, error|
56
+ signature.each_error do |attribute, error|
57
57
  errors.add(attribute, error)
58
58
  end
59
59
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Saml
4
+ module Kit
5
+ # This module is responsible for
6
+ # providing an adapter to the ActiveModel::Validations
7
+ # module.
8
+ module Validatable
9
+ extend ActiveSupport::Concern
10
+ include ActiveModel::Validations
11
+
12
+ def each_error
13
+ if Gem::Requirement.new('>= 6.1').satisfied_by?(ActiveModel.version)
14
+ errors.each do |error|
15
+ yield error.attribute, error.message
16
+ end
17
+ else
18
+ errors.each do |attribute, message|
19
+ yield attribute, message
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -4,7 +4,7 @@ module Saml
4
4
  module Kit
5
5
  # This class is a base class for SAML documents.
6
6
  class Document
7
- include ActiveModel::Validations
7
+ include Validatable
8
8
  include Buildable
9
9
  include Translatable
10
10
  include Trustable
@@ -53,12 +53,14 @@ module Saml
53
53
 
54
54
  class << self
55
55
  CONSTRUCTORS = {
56
+ 'Assertion' => -> { Saml::Kit::Assertion },
56
57
  'AuthnRequest' => -> { Saml::Kit::AuthenticationRequest },
57
58
  'LogoutRequest' => -> { Saml::Kit::LogoutRequest },
58
59
  'LogoutResponse' => -> { Saml::Kit::LogoutResponse },
59
60
  'Response' => -> { Saml::Kit::Response },
60
61
  }.freeze
61
62
  XPATH = [
63
+ '/saml:Assertion',
62
64
  '/samlp:AuthnRequest',
63
65
  '/samlp:LogoutRequest',
64
66
  '/samlp:LogoutResponse',
@@ -71,7 +73,10 @@ module Saml
71
73
  # @param configuration [Saml::Kit::Configuration] configuration to use
72
74
  # for unpacking the document.
73
75
  def to_saml_document(xml, configuration: Saml::Kit.configuration)
74
- namespaces = { samlp: Namespaces::PROTOCOL }
76
+ namespaces = {
77
+ saml: Namespaces::ASSERTION,
78
+ samlp: Namespaces::PROTOCOL,
79
+ }
75
80
  element = Nokogiri::XML(xml).at_xpath(XPATH, namespaces)
76
81
  constructor = CONSTRUCTORS[element.name].try(:call) || InvalidDocument
77
82
  constructor.new(xml, configuration: configuration)
@@ -26,7 +26,7 @@ module Saml
26
26
  # for a list of options that can be specified.
27
27
  # {include:file:spec/examples/metadata_spec.rb}
28
28
  class Metadata
29
- include ActiveModel::Validations
29
+ include Validatable
30
30
  include Buildable
31
31
  include Translatable
32
32
  include XmlParseable
@@ -192,7 +192,7 @@ module Saml
192
192
  def must_have_valid_signature
193
193
  return if !signature.present? || signature.valid?
194
194
 
195
- signature.errors.each do |attribute, error|
195
+ signature.each_error do |attribute, error|
196
196
  errors.add(attribute, error)
197
197
  end
198
198
  end
@@ -6,7 +6,7 @@ module Saml
6
6
  # Null Object pattern for when a Response
7
7
  # is missing an Assertion.
8
8
  class NullAssertion
9
- include ActiveModel::Validations
9
+ include Validatable
10
10
  include Translatable
11
11
  validate :invalid
12
12
 
@@ -43,9 +43,8 @@ module Saml
43
43
 
44
44
  def must_be_valid_assertion
45
45
  assertion.valid?
46
- assertion.errors.each do |attribute, error|
47
- attribute = :assertion if attribute == :base
48
- errors.add(attribute, error)
46
+ assertion.each_error do |attribute, error|
47
+ errors.add(attribute == :base ? :assertion : attribute, error)
49
48
  end
50
49
  end
51
50
 
@@ -6,7 +6,7 @@ module Saml
6
6
  # validating an xml digital signature
7
7
  # in an xml document.
8
8
  class Signature
9
- include ActiveModel::Validations
9
+ include Validatable
10
10
  include Translatable
11
11
 
12
12
  validate :validate_signature
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Saml
4
4
  module Kit
5
- VERSION = '1.2.0'
5
+ VERSION = '1.4.0'
6
6
  end
7
7
  end
data/lib/saml/kit.rb CHANGED
@@ -23,6 +23,7 @@ require 'saml/kit/concerns/respondable'
23
23
  require 'saml/kit/concerns/serializable'
24
24
  require 'saml/kit/concerns/translatable'
25
25
  require 'saml/kit/concerns/trustable'
26
+ require 'saml/kit/concerns/validatable'
26
27
  require 'saml/kit/concerns/xml_parseable'
27
28
  require 'saml/kit/concerns/xml_templatable'
28
29
  require 'saml/kit/concerns/xsd_validatable'
data/saml-kit.gemspec CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.description = 'A simple toolkit for working with SAML.'
15
15
  spec.homepage = 'https://github.com/xlgmokha/saml-kit'
16
16
  spec.license = 'MIT'
17
- spec.required_ruby_version = '~> 2.5'
17
+ spec.required_ruby_version = '>= 3.1.0'
18
18
 
19
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
20
  (
@@ -28,17 +28,26 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ['lib']
30
30
 
31
- spec.add_dependency 'activemodel', '~> 5.1'
32
- spec.add_dependency 'net-hippie', '~> 0.1'
31
+ spec.add_dependency 'activemodel', '>= 5.1'
32
+ spec.add_dependency 'base64', '~> 0.1'
33
+ spec.add_dependency 'cgi', '~> 0.1'
34
+ spec.add_dependency 'forwardable', '~> 1.0'
35
+ spec.add_dependency 'logger', '~> 1.0'
36
+ spec.add_dependency 'net-hippie', '~> 1.0'
37
+ spec.add_dependency 'nokogiri', '~> 1.0'
38
+ spec.add_dependency 'securerandom', '~> 0.1'
39
+ spec.add_dependency 'uri', '~> 1.0'
33
40
  spec.add_dependency 'xml-kit', '~> 0.4'
34
41
  spec.add_development_dependency 'bundler', '~> 2.0'
35
42
  spec.add_development_dependency 'bundler-audit', '~> 0.6'
43
+ spec.add_development_dependency 'erb', '~> 4.0'
36
44
  spec.add_development_dependency 'ffaker', '~> 2.7'
45
+ spec.add_development_dependency 'irb', '~> 1.0'
37
46
  spec.add_development_dependency 'rake', '~> 13.0'
38
47
  spec.add_development_dependency 'rspec', '~> 3.0'
39
48
  spec.add_development_dependency 'rspec-benchmark', '~> 0.3'
40
- spec.add_development_dependency 'rubocop', '~> 0.52'
41
- spec.add_development_dependency 'rubocop-rspec', '~> 1.22'
49
+ spec.add_development_dependency 'rubocop', '~> 1.0'
50
+ spec.add_development_dependency 'rubocop-rspec', '~> 3.0'
42
51
  spec.add_development_dependency 'ruby-prof'
43
52
  spec.add_development_dependency 'simplecov', '~> 0.15'
44
53
  spec.add_development_dependency 'webmock', '~> 3.1'
metadata CHANGED
@@ -1,31 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saml-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2025-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '5.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: base64
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cgi
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: forwardable
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: logger
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
27
83
  - !ruby/object:Gem::Dependency
28
84
  name: net-hippie
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: nokogiri
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: securerandom
29
113
  requirement: !ruby/object:Gem::Requirement
30
114
  requirements:
31
115
  - - "~>"
@@ -38,6 +122,20 @@ dependencies:
38
122
  - - "~>"
39
123
  - !ruby/object:Gem::Version
40
124
  version: '0.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: uri
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.0'
41
139
  - !ruby/object:Gem::Dependency
42
140
  name: xml-kit
43
141
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +178,20 @@ dependencies:
80
178
  - - "~>"
81
179
  - !ruby/object:Gem::Version
82
180
  version: '0.6'
181
+ - !ruby/object:Gem::Dependency
182
+ name: erb
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '4.0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '4.0'
83
195
  - !ruby/object:Gem::Dependency
84
196
  name: ffaker
85
197
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +206,20 @@ dependencies:
94
206
  - - "~>"
95
207
  - !ruby/object:Gem::Version
96
208
  version: '2.7'
209
+ - !ruby/object:Gem::Dependency
210
+ name: irb
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '1.0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '1.0'
97
223
  - !ruby/object:Gem::Dependency
98
224
  name: rake
99
225
  requirement: !ruby/object:Gem::Requirement
@@ -142,28 +268,28 @@ dependencies:
142
268
  requirements:
143
269
  - - "~>"
144
270
  - !ruby/object:Gem::Version
145
- version: '0.52'
271
+ version: '1.0'
146
272
  type: :development
147
273
  prerelease: false
148
274
  version_requirements: !ruby/object:Gem::Requirement
149
275
  requirements:
150
276
  - - "~>"
151
277
  - !ruby/object:Gem::Version
152
- version: '0.52'
278
+ version: '1.0'
153
279
  - !ruby/object:Gem::Dependency
154
280
  name: rubocop-rspec
155
281
  requirement: !ruby/object:Gem::Requirement
156
282
  requirements:
157
283
  - - "~>"
158
284
  - !ruby/object:Gem::Version
159
- version: '1.22'
285
+ version: '3.0'
160
286
  type: :development
161
287
  prerelease: false
162
288
  version_requirements: !ruby/object:Gem::Requirement
163
289
  requirements:
164
290
  - - "~>"
165
291
  - !ruby/object:Gem::Version
166
- version: '1.22'
292
+ version: '3.0'
167
293
  - !ruby/object:Gem::Dependency
168
294
  name: ruby-prof
169
295
  requirement: !ruby/object:Gem::Requirement
@@ -263,6 +389,7 @@ files:
263
389
  - lib/saml/kit/concerns/serializable.rb
264
390
  - lib/saml/kit/concerns/translatable.rb
265
391
  - lib/saml/kit/concerns/trustable.rb
392
+ - lib/saml/kit/concerns/validatable.rb
266
393
  - lib/saml/kit/concerns/xml_parseable.rb
267
394
  - lib/saml/kit/concerns/xml_templatable.rb
268
395
  - lib/saml/kit/concerns/xsd_validatable.rb
@@ -315,30 +442,29 @@ files:
315
442
  - spec/examples/metadata_spec.rb
316
443
  - spec/examples/principal.rb
317
444
  - spec/examples/response_spec.rb
318
- - spec/examples/saml-kit.gif
319
445
  - spec/examples/service_provider_metadata_spec.rb
320
446
  homepage: https://github.com/xlgmokha/saml-kit
321
447
  licenses:
322
448
  - MIT
323
449
  metadata:
324
450
  yard.run: yri
325
- post_install_message:
451
+ post_install_message:
326
452
  rdoc_options: []
327
453
  require_paths:
328
454
  - lib
329
455
  required_ruby_version: !ruby/object:Gem::Requirement
330
456
  requirements:
331
- - - "~>"
457
+ - - ">="
332
458
  - !ruby/object:Gem::Version
333
- version: '2.5'
459
+ version: 3.1.0
334
460
  required_rubygems_version: !ruby/object:Gem::Requirement
335
461
  requirements:
336
462
  - - ">="
337
463
  - !ruby/object:Gem::Version
338
464
  version: '0'
339
465
  requirements: []
340
- rubygems_version: 3.1.4
341
- signing_key:
466
+ rubygems_version: 3.3.27
467
+ signing_key:
342
468
  specification_version: 4
343
469
  summary: A simple toolkit for working with SAML.
344
470
  test_files: []
Binary file