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 +4 -4
- data/CHANGELOG.md +23 -2
- data/Gemfile.lock +132 -74
- data/README.md +0 -6
- data/lib/saml/kit/assertion.rb +1 -1
- data/lib/saml/kit/composite_metadata.rb +2 -2
- data/lib/saml/kit/concerns/buildable.rb +6 -6
- data/lib/saml/kit/concerns/translatable.rb +1 -1
- data/lib/saml/kit/concerns/trustable.rb +1 -1
- data/lib/saml/kit/concerns/validatable.rb +25 -0
- data/lib/saml/kit/document.rb +7 -2
- data/lib/saml/kit/metadata.rb +2 -2
- data/lib/saml/kit/null_assertion.rb +1 -1
- data/lib/saml/kit/response.rb +2 -3
- data/lib/saml/kit/signature.rb +1 -1
- data/lib/saml/kit/version.rb +1 -1
- data/lib/saml/kit.rb +1 -0
- data/saml-kit.gemspec +14 -5
- metadata +141 -15
- data/spec/examples/saml-kit.gif +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf6c86073d43c4c6b2f55aa091d71e1fb9e58d823e1e25936ba598c9db8c2304
|
4
|
+
data.tar.gz: 1896cf94e32bd938a3b4c3ae96c5e5b88a1433c8988866fa6d12e64a035812d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1287fa37a0daaf27d591dcdfd03241897ef7b8773c4d1e9a4cab96c9940b5b475e54691062e76916e44e030c494aa34f32fa5a3496d295366f8a16b01e5333c2
|
7
|
+
data.tar.gz: 10b7edcc0ed623d9a84fbe03926306e0d224eb20fde850ca2900086882f518b77029952f2f35ca33a33b80412513c0669c6a1296d72eaecb12f9bef38afe9e80
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Version 1.
|
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.
|
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.
|
5
|
-
activemodel (
|
6
|
-
|
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 (
|
13
|
-
activesupport (=
|
14
|
-
activesupport (
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
26
|
-
|
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 (
|
29
|
-
|
30
|
-
|
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
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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
|
-
|
39
|
-
|
40
|
-
|
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.
|
43
|
-
parser (3.
|
79
|
+
parallel (1.26.3)
|
80
|
+
parser (3.3.7.3)
|
44
81
|
ast (~> 2.4.1)
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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.
|
61
|
-
rspec-support (~> 3.
|
62
|
-
rspec-expectations (3.
|
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.
|
65
|
-
rspec-mocks (3.
|
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.
|
68
|
-
rspec-support (3.
|
69
|
-
rubocop (
|
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 (>=
|
123
|
+
parser (>= 3.3.0.2)
|
72
124
|
rainbow (>= 2.2.2, < 4.0)
|
73
|
-
regexp_parser (>=
|
74
|
-
|
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 (>=
|
78
|
-
rubocop-ast (1.
|
79
|
-
parser (>=
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
ruby-
|
85
|
-
|
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.
|
90
|
-
simplecov_json_formatter (0.1.
|
91
|
-
|
92
|
-
|
93
|
-
tilt (2.0
|
94
|
-
tzinfo (
|
95
|
-
|
96
|
-
unicode-display_width (1.
|
97
|
-
|
98
|
-
|
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.
|
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.
|
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
|
121
|
-
rubocop-rspec (~>
|
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.
|
186
|
+
2.6.6
|
data/README.md
CHANGED
@@ -1,9 +1,3 @@
|
|
1
|
-

|
2
|
-
|
3
|
-
*Logo courtesy of [@speasley](https://github.com/speasley)*
|
4
|
-
|
5
|
-
[](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,
|
data/lib/saml/kit/assertion.rb
CHANGED
@@ -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
|
@@ -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
|
data/lib/saml/kit/document.rb
CHANGED
@@ -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
|
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 = {
|
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)
|
data/lib/saml/kit/metadata.rb
CHANGED
@@ -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
|
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.
|
195
|
+
signature.each_error do |attribute, error|
|
196
196
|
errors.add(attribute, error)
|
197
197
|
end
|
198
198
|
end
|
data/lib/saml/kit/response.rb
CHANGED
@@ -43,9 +43,8 @@ module Saml
|
|
43
43
|
|
44
44
|
def must_be_valid_assertion
|
45
45
|
assertion.valid?
|
46
|
-
assertion.
|
47
|
-
attribute
|
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
|
|
data/lib/saml/kit/signature.rb
CHANGED
data/lib/saml/kit/version.rb
CHANGED
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 = '
|
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', '
|
32
|
-
spec.add_dependency '
|
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
|
41
|
-
spec.add_development_dependency 'rubocop-rspec', '~>
|
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.
|
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:
|
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
|
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
|
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: '
|
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: '
|
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:
|
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.
|
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: []
|
data/spec/examples/saml-kit.gif
DELETED
Binary file
|