saml-kit 1.0.31 → 1.3.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 +5 -5
- data/CHANGELOG.md +92 -60
- data/Gemfile.lock +90 -82
- data/LICENSE.txt +1 -1
- data/README.md +4 -8
- data/Rakefile +0 -1
- data/lib/saml/kit/assertion.rb +3 -3
- data/lib/saml/kit/authentication_request.rb +5 -0
- data/lib/saml/kit/bindings.rb +4 -4
- data/lib/saml/kit/builders/authentication_request.rb +3 -4
- data/lib/saml/kit/composite_metadata.rb +2 -2
- data/lib/saml/kit/concerns/buildable.rb +6 -6
- data/lib/saml/kit/concerns/respondable.rb +1 -1
- data/lib/saml/kit/concerns/translatable.rb +1 -1
- data/lib/saml/kit/concerns/trustable.rb +4 -4
- data/lib/saml/kit/concerns/validatable.rb +25 -0
- data/lib/saml/kit/concerns/xsd_validatable.rb +1 -1
- data/lib/saml/kit/deprecated/metadata.rb +2 -0
- data/lib/saml/kit/document.rb +3 -3
- data/lib/saml/kit/invalid_document.rb +1 -1
- data/lib/saml/kit/metadata.rb +4 -4
- data/lib/saml/kit/namespaces.rb +25 -25
- data/lib/saml/kit/null_assertion.rb +2 -2
- data/lib/saml/kit/organization.rb +2 -0
- data/lib/saml/kit/response.rb +3 -4
- data/lib/saml/kit/signature.rb +2 -2
- data/lib/saml/kit/version.rb +1 -1
- data/lib/saml/kit.rb +1 -0
- data/saml-kit.gemspec +7 -7
- metadata +33 -27
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: c9a4200f425bfeb877bfefb73991a9f7f71192c4c62c42a57fdced9ca9dd7e29
|
|
4
|
+
data.tar.gz: 240318f54c98446e6ed07c57838e5186a642203566f24d33b13ebc8152262779
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a05177ad91a35bdec004a0cc12fcec85a2f9b2cbc1e0b98a9c243cf05d790008bfa4f1189e3cb59eb49d34cfa162e9171ec82b24b3c190968d64911c2bdb8587
|
|
7
|
+
data.tar.gz: 3cef11e9d6eafd0ee8a471475f88b2635ba452d6490f310acc8f0349d8a1430349a541cb99632a05ed14e817bee8109afd98a3cda678ddb182848c65458fd0e9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
Version 1.0
|
|
1
|
+
Version 1.3.0
|
|
2
|
+
|
|
2
3
|
# Changelog
|
|
3
4
|
All notable changes to this project will be documented in this file.
|
|
4
5
|
|
|
@@ -6,7 +7,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
8
|
|
|
8
9
|
## [Unreleased]
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
## [1.3.0] - 2022-03-30
|
|
12
|
+
### Removed
|
|
13
|
+
|
|
14
|
+
- Drop support for ruby 2.6
|
|
15
|
+
- Drop support for ruby 2.5
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- fix: upgrade to Ruby 2.7+ `*args` syntax.
|
|
20
|
+
- fix: resolve deprecation warnings
|
|
21
|
+
|
|
22
|
+
## [1.2.0] - 2021-02-04
|
|
23
|
+
### Changed
|
|
24
|
+
- Use [ActiveModel::Errors#add](https://www.rubydoc.info/docs/rails/ActiveModel%2FErrors:add)
|
|
25
|
+
- Update minimum activemodel version to `5.1`.
|
|
26
|
+
|
|
27
|
+
## [1.1.0] - 2019-04-30
|
|
28
|
+
### Added
|
|
29
|
+
- Add support for ForceAuthn attribute on AuthnRequest
|
|
30
|
+
|
|
31
|
+
### Removed
|
|
32
|
+
- Drop support for ruby 2.2
|
|
33
|
+
- Drop support for ruby 2.3
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- Rescue from invalid signature validation
|
|
37
|
+
- Change minimum ruby version to 2.4
|
|
38
|
+
- Change minimum bundler to 2.0
|
|
10
39
|
|
|
11
40
|
## [1.0.31] - 2019-04-17
|
|
12
41
|
### Changed
|
|
@@ -69,61 +98,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
69
98
|
### Removed
|
|
70
99
|
- Removed optional SessionNotOnOrAfter attribute from AuthnStatement.
|
|
71
100
|
|
|
72
|
-
[Unreleased]: https://github.com/
|
|
73
|
-
[1.0
|
|
74
|
-
[1.0
|
|
75
|
-
[1.0
|
|
76
|
-
[1.0.
|
|
77
|
-
[1.0.
|
|
78
|
-
[1.0.
|
|
79
|
-
[1.0.
|
|
80
|
-
[1.0.
|
|
81
|
-
[1.0.
|
|
82
|
-
[1.0.
|
|
83
|
-
[1.0.
|
|
84
|
-
[1.0.
|
|
85
|
-
[1.0.
|
|
86
|
-
[1.0.
|
|
87
|
-
[1.0.
|
|
88
|
-
[1.0.
|
|
89
|
-
[1.0.
|
|
90
|
-
[1.0.
|
|
91
|
-
[1.0.
|
|
92
|
-
[1.0.
|
|
93
|
-
[1.0.
|
|
94
|
-
[1.0.
|
|
95
|
-
[1.0.
|
|
96
|
-
[1.0.
|
|
97
|
-
[1.0.
|
|
98
|
-
[1.0.
|
|
99
|
-
[1.0.
|
|
100
|
-
[1.0.
|
|
101
|
-
[1.0.
|
|
102
|
-
[1.0.
|
|
103
|
-
[1.0.
|
|
104
|
-
[1.0.
|
|
105
|
-
[0.
|
|
106
|
-
[0.
|
|
107
|
-
[0.
|
|
108
|
-
[0.3.
|
|
109
|
-
[0.3.
|
|
110
|
-
[0.3.
|
|
111
|
-
[0.3.
|
|
112
|
-
[0.2
|
|
113
|
-
[0.
|
|
114
|
-
[0.
|
|
115
|
-
[0.2.
|
|
116
|
-
[0.2.
|
|
117
|
-
[0.2.
|
|
118
|
-
[0.2.
|
|
119
|
-
[0.2.
|
|
120
|
-
[0.2.
|
|
121
|
-
[0.2.
|
|
122
|
-
[0.2.
|
|
123
|
-
[0.2.
|
|
124
|
-
[0.2.
|
|
125
|
-
[0.2.
|
|
126
|
-
[0.2.
|
|
127
|
-
[0.2.
|
|
128
|
-
[0.2.
|
|
129
|
-
[0.2.
|
|
101
|
+
[Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.3.0...HEAD
|
|
102
|
+
[1.3.0]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...v1.3.0
|
|
103
|
+
[1.2.0]: https://github.com/xlgmokha/saml-kit/compare/v1.1.0...v1.2.0
|
|
104
|
+
[1.1.0]: https://github.com/xlgmokha/saml-kit/compare/v1.0.31...v1.1.0
|
|
105
|
+
[1.0.31]: https://github.com/xlgmokha/saml-kit/compare/v1.0.30...v1.0.31
|
|
106
|
+
[1.0.30]: https://github.com/xlgmokha/saml-kit/compare/v1.0.29...v1.0.30
|
|
107
|
+
[1.0.29]: https://github.com/xlgmokha/saml-kit/compare/v1.0.28...v1.0.29
|
|
108
|
+
[1.0.28]: https://github.com/xlgmokha/saml-kit/compare/v1.0.27...v1.0.28
|
|
109
|
+
[1.0.27]: https://github.com/xlgmokha/saml-kit/compare/v1.0.26...v1.0.27
|
|
110
|
+
[1.0.26]: https://github.com/xlgmokha/saml-kit/compare/v1.0.25...v1.0.26
|
|
111
|
+
[1.0.25]: https://github.com/xlgmokha/saml-kit/compare/v1.0.24...v1.0.25
|
|
112
|
+
[1.0.24]: https://github.com/xlgmokha/saml-kit/compare/v1.0.23...v1.0.24
|
|
113
|
+
[1.0.23]: https://github.com/xlgmokha/saml-kit/compare/v1.0.22...v1.0.23
|
|
114
|
+
[1.0.22]: https://github.com/xlgmokha/saml-kit/compare/v1.0.21...v1.0.22
|
|
115
|
+
[1.0.21]: https://github.com/xlgmokha/saml-kit/compare/v1.0.20...v1.0.21
|
|
116
|
+
[1.0.20]: https://github.com/xlgmokha/saml-kit/compare/v1.0.19...v1.0.20
|
|
117
|
+
[1.0.19]: https://github.com/xlgmokha/saml-kit/compare/v1.0.18...v1.0.19
|
|
118
|
+
[1.0.18]: https://github.com/xlgmokha/saml-kit/compare/v1.0.17...v1.0.18
|
|
119
|
+
[1.0.17]: https://github.com/xlgmokha/saml-kit/compare/v1.0.16...v1.0.17
|
|
120
|
+
[1.0.16]: https://github.com/xlgmokha/saml-kit/compare/v1.0.15...v1.0.16
|
|
121
|
+
[1.0.15]: https://github.com/xlgmokha/saml-kit/compare/v1.0.14...v1.0.15
|
|
122
|
+
[1.0.14]: https://github.com/xlgmokha/saml-kit/compare/v1.0.13...v1.0.14
|
|
123
|
+
[1.0.13]: https://github.com/xlgmokha/saml-kit/compare/v1.0.12...v1.0.13
|
|
124
|
+
[1.0.12]: https://github.com/xlgmokha/saml-kit/compare/v1.0.11...v1.0.12
|
|
125
|
+
[1.0.11]: https://github.com/xlgmokha/saml-kit/compare/v1.0.10...v1.0.11
|
|
126
|
+
[1.0.10]: https://github.com/xlgmokha/saml-kit/compare/v1.0.9...v1.0.10
|
|
127
|
+
[1.0.9]: https://github.com/xlgmokha/saml-kit/compare/v1.0.8...v1.0.9
|
|
128
|
+
[1.0.8]: https://github.com/xlgmokha/saml-kit/compare/v1.0.7...v1.0.8
|
|
129
|
+
[1.0.7]: https://github.com/xlgmokha/saml-kit/compare/v1.0.6...v1.0.7
|
|
130
|
+
[1.0.6]: https://github.com/xlgmokha/saml-kit/compare/v1.0.5...v1.0.6
|
|
131
|
+
[1.0.5]: https://github.com/xlgmokha/saml-kit/compare/v1.0.4...v1.0.5
|
|
132
|
+
[1.0.4]: https://github.com/xlgmokha/saml-kit/compare/v1.0.3...v1.0.4
|
|
133
|
+
[1.0.3]: https://github.com/xlgmokha/saml-kit/compare/v1.0.2...v1.0.3
|
|
134
|
+
[1.0.2]: https://github.com/xlgmokha/saml-kit/compare/v1.0.1...v1.0.2
|
|
135
|
+
[1.0.1]: https://github.com/xlgmokha/saml-kit/compare/v1.0.0...v1.0.1
|
|
136
|
+
[1.0.0]: https://github.com/xlgmokha/saml-kit/compare/v0.3.6...v1.0.0
|
|
137
|
+
[0.3.6]: https://github.com/xlgmokha/saml-kit/compare/v0.3.5...v0.3.6
|
|
138
|
+
[0.3.5]: https://github.com/xlgmokha/saml-kit/compare/v0.3.4...v0.3.5
|
|
139
|
+
[0.3.4]: https://github.com/xlgmokha/saml-kit/compare/v0.3.3...v0.3.4
|
|
140
|
+
[0.3.3]: https://github.com/xlgmokha/saml-kit/compare/v0.3.2...v0.3.3
|
|
141
|
+
[0.3.2]: https://github.com/xlgmokha/saml-kit/compare/v0.3.1...v0.3.2
|
|
142
|
+
[0.3.1]: https://github.com/xlgmokha/saml-kit/compare/v0.3.0...v0.3.1
|
|
143
|
+
[0.3.0]: https://github.com/xlgmokha/saml-kit/compare/v0.2.18...v0.3.0
|
|
144
|
+
[0.2.18]: https://github.com/xlgmokha/saml-kit/compare/v0.2.17...v0.2.18
|
|
145
|
+
[0.2.17]: https://github.com/xlgmokha/saml-kit/compare/v0.2.16...v0.2.17
|
|
146
|
+
[0.2.16]: https://github.com/xlgmokha/saml-kit/compare/v0.2.15...v0.2.16
|
|
147
|
+
[0.2.15]: https://github.com/xlgmokha/saml-kit/compare/v0.2.14...v0.2.15
|
|
148
|
+
[0.2.14]: https://github.com/xlgmokha/saml-kit/compare/v0.2.13...v0.2.14
|
|
149
|
+
[0.2.13]: https://github.com/xlgmokha/saml-kit/compare/v0.2.12...v0.2.13
|
|
150
|
+
[0.2.12]: https://github.com/xlgmokha/saml-kit/compare/v0.2.11...v0.2.12
|
|
151
|
+
[0.2.11]: https://github.com/xlgmokha/saml-kit/compare/v0.2.10...v0.2.11
|
|
152
|
+
[0.2.10]: https://github.com/xlgmokha/saml-kit/compare/v0.2.9...v0.2.10
|
|
153
|
+
[0.2.9]: https://github.com/xlgmokha/saml-kit/compare/v0.2.8...v0.2.9
|
|
154
|
+
[0.2.8]: https://github.com/xlgmokha/saml-kit/compare/v0.2.7...v0.2.8
|
|
155
|
+
[0.2.7]: https://github.com/xlgmokha/saml-kit/compare/v0.2.6...v0.2.7
|
|
156
|
+
[0.2.6]: https://github.com/xlgmokha/saml-kit/compare/v0.2.5...v0.2.6
|
|
157
|
+
[0.2.5]: https://github.com/xlgmokha/saml-kit/compare/v0.2.4...v0.2.5
|
|
158
|
+
[0.2.4]: https://github.com/xlgmokha/saml-kit/compare/v0.2.3...v0.2.4
|
|
159
|
+
[0.2.3]: https://github.com/xlgmokha/saml-kit/compare/v0.2.2...v0.2.3
|
|
160
|
+
[0.2.2]: https://github.com/xlgmokha/saml-kit/compare/v0.2.1...v0.2.2
|
|
161
|
+
[0.2.1]: https://github.com/xlgmokha/saml-kit/compare/v0.1.0...v0.2.1
|
data/Gemfile.lock
CHANGED
|
@@ -1,115 +1,123 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
saml-kit (1.0
|
|
5
|
-
activemodel (>=
|
|
6
|
-
net-hippie (
|
|
7
|
-
xml-kit (
|
|
4
|
+
saml-kit (1.3.0)
|
|
5
|
+
activemodel (>= 5.1, < 8.0)
|
|
6
|
+
net-hippie (>= 0.1, < 2.0)
|
|
7
|
+
xml-kit (~> 0.4)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
activemodel (
|
|
13
|
-
activesupport (=
|
|
14
|
-
activesupport (
|
|
12
|
+
activemodel (6.1.5)
|
|
13
|
+
activesupport (= 6.1.5)
|
|
14
|
+
activesupport (6.1.5)
|
|
15
15
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
16
|
-
i18n (>=
|
|
17
|
-
minitest (
|
|
18
|
-
tzinfo (~>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
benchmark-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
i18n (>= 1.6, < 2)
|
|
17
|
+
minitest (>= 5.1)
|
|
18
|
+
tzinfo (~> 2.0)
|
|
19
|
+
zeitwerk (~> 2.3)
|
|
20
|
+
addressable (2.8.0)
|
|
21
|
+
public_suffix (>= 2.0.2, < 5.0)
|
|
22
|
+
ast (2.4.2)
|
|
23
|
+
benchmark-malloc (0.2.0)
|
|
24
|
+
benchmark-perf (0.6.0)
|
|
25
|
+
benchmark-trend (0.4.0)
|
|
26
|
+
builder (3.2.4)
|
|
27
|
+
bundler-audit (0.9.0.1)
|
|
26
28
|
bundler (>= 1.2.0, < 3)
|
|
27
|
-
thor (~> 0
|
|
28
|
-
concurrent-ruby (1.1.
|
|
29
|
-
crack (0.4.
|
|
30
|
-
|
|
31
|
-
diff-lcs (1.
|
|
32
|
-
docile (1.3.
|
|
33
|
-
ffaker (2.
|
|
34
|
-
hashdiff (0.
|
|
35
|
-
i18n (1.
|
|
29
|
+
thor (~> 1.0)
|
|
30
|
+
concurrent-ruby (1.1.10)
|
|
31
|
+
crack (0.4.5)
|
|
32
|
+
rexml
|
|
33
|
+
diff-lcs (1.5.0)
|
|
34
|
+
docile (1.3.5)
|
|
35
|
+
ffaker (2.20.0)
|
|
36
|
+
hashdiff (1.0.1)
|
|
37
|
+
i18n (1.10.0)
|
|
36
38
|
concurrent-ruby (~> 1.0)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
public_suffix (3.0.3)
|
|
39
|
+
mini_portile2 (2.8.0)
|
|
40
|
+
minitest (5.15.0)
|
|
41
|
+
net-hippie (1.1.1)
|
|
42
|
+
nokogiri (1.13.3)
|
|
43
|
+
mini_portile2 (~> 2.8.0)
|
|
44
|
+
racc (~> 1.4)
|
|
45
|
+
parallel (1.20.1)
|
|
46
|
+
parser (3.0.0.0)
|
|
47
|
+
ast (~> 2.4.1)
|
|
48
|
+
public_suffix (4.0.6)
|
|
49
|
+
racc (1.6.0)
|
|
49
50
|
rainbow (3.0.0)
|
|
50
|
-
rake (
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
rspec-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
rake (13.0.6)
|
|
52
|
+
regexp_parser (2.0.3)
|
|
53
|
+
rexml (3.2.5)
|
|
54
|
+
rspec (3.11.0)
|
|
55
|
+
rspec-core (~> 3.11.0)
|
|
56
|
+
rspec-expectations (~> 3.11.0)
|
|
57
|
+
rspec-mocks (~> 3.11.0)
|
|
58
|
+
rspec-benchmark (0.6.0)
|
|
59
|
+
benchmark-malloc (~> 0.2)
|
|
60
|
+
benchmark-perf (~> 0.6)
|
|
61
|
+
benchmark-trend (~> 0.4)
|
|
62
|
+
rspec (>= 3.0)
|
|
63
|
+
rspec-core (3.11.0)
|
|
64
|
+
rspec-support (~> 3.11.0)
|
|
65
|
+
rspec-expectations (3.11.0)
|
|
62
66
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
63
|
-
rspec-support (~> 3.
|
|
64
|
-
rspec-mocks (3.
|
|
67
|
+
rspec-support (~> 3.11.0)
|
|
68
|
+
rspec-mocks (3.11.0)
|
|
65
69
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
66
|
-
rspec-support (~> 3.
|
|
67
|
-
rspec-support (3.
|
|
68
|
-
rubocop (0.
|
|
69
|
-
jaro_winkler (~> 1.5.1)
|
|
70
|
+
rspec-support (~> 3.11.0)
|
|
71
|
+
rspec-support (3.11.0)
|
|
72
|
+
rubocop (0.93.1)
|
|
70
73
|
parallel (~> 1.10)
|
|
71
|
-
parser (>= 2.
|
|
72
|
-
psych (>= 3.1.0)
|
|
74
|
+
parser (>= 2.7.1.5)
|
|
73
75
|
rainbow (>= 2.2.2, < 4.0)
|
|
76
|
+
regexp_parser (>= 1.8)
|
|
77
|
+
rexml
|
|
78
|
+
rubocop-ast (>= 0.6.0)
|
|
74
79
|
ruby-progressbar (~> 1.7)
|
|
75
|
-
unicode-display_width (>= 1.4.0, <
|
|
76
|
-
rubocop-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
|
81
|
+
rubocop-ast (1.4.1)
|
|
82
|
+
parser (>= 2.7.1.5)
|
|
83
|
+
rubocop-rspec (1.44.1)
|
|
84
|
+
rubocop (~> 0.87)
|
|
85
|
+
rubocop-ast (>= 0.7.1)
|
|
86
|
+
ruby-prof (1.4.3)
|
|
87
|
+
ruby-progressbar (1.11.0)
|
|
88
|
+
simplecov (0.21.2)
|
|
82
89
|
docile (~> 1.1)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
simplecov-html (0.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
tilt (2.0.
|
|
89
|
-
tzinfo (
|
|
90
|
-
|
|
91
|
-
unicode-display_width (1.
|
|
92
|
-
webmock (3.
|
|
93
|
-
addressable (>= 2.
|
|
90
|
+
simplecov-html (~> 0.11)
|
|
91
|
+
simplecov_json_formatter (~> 0.1)
|
|
92
|
+
simplecov-html (0.12.3)
|
|
93
|
+
simplecov_json_formatter (0.1.2)
|
|
94
|
+
thor (1.1.0)
|
|
95
|
+
tilt (2.0.10)
|
|
96
|
+
tzinfo (2.0.4)
|
|
97
|
+
concurrent-ruby (~> 1.0)
|
|
98
|
+
unicode-display_width (1.7.0)
|
|
99
|
+
webmock (3.14.0)
|
|
100
|
+
addressable (>= 2.8.0)
|
|
94
101
|
crack (>= 0.3.2)
|
|
95
|
-
hashdiff
|
|
96
|
-
xml-kit (0.
|
|
102
|
+
hashdiff (>= 0.4.0, < 2.0.0)
|
|
103
|
+
xml-kit (0.5.0)
|
|
97
104
|
activemodel (>= 4.2.0)
|
|
98
105
|
builder (~> 3.2)
|
|
99
|
-
nokogiri (
|
|
106
|
+
nokogiri (~> 1.10)
|
|
100
107
|
tilt (>= 1.4.1)
|
|
101
108
|
xmldsig (~> 0.6)
|
|
102
109
|
xmldsig (0.6.6)
|
|
103
110
|
nokogiri (>= 1.6.8, < 2.0.0)
|
|
111
|
+
zeitwerk (2.5.4)
|
|
104
112
|
|
|
105
113
|
PLATFORMS
|
|
106
114
|
ruby
|
|
107
115
|
|
|
108
116
|
DEPENDENCIES
|
|
109
|
-
bundler (~>
|
|
117
|
+
bundler (~> 2.0)
|
|
110
118
|
bundler-audit (~> 0.6)
|
|
111
119
|
ffaker (~> 2.7)
|
|
112
|
-
rake (~>
|
|
120
|
+
rake (~> 13.0)
|
|
113
121
|
rspec (~> 3.0)
|
|
114
122
|
rspec-benchmark (~> 0.3)
|
|
115
123
|
rubocop (~> 0.52)
|
|
@@ -120,4 +128,4 @@ DEPENDENCIES
|
|
|
120
128
|
webmock (~> 3.1)
|
|
121
129
|
|
|
122
130
|
BUNDLED WITH
|
|
123
|
-
1.
|
|
131
|
+
2.1.4
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
*Logo courtesy of [@speasley](https://github.com/speasley)*
|
|
4
4
|
|
|
5
|
-
[](https://travis-ci.org/saml-kit/saml-kit)
|
|
6
|
-
[](https://codeclimate.com/github/saml-kit/saml-kit)
|
|
7
5
|
[](https://rubygems.org/gems/saml-kit)
|
|
8
|
-
[](https://hakiri.io/github/saml-kit/saml-kit/master)
|
|
9
|
-
[](https://codeclimate.com/github/saml-kit/saml-kit/test_coverage)
|
|
10
6
|
|
|
11
7
|
Saml::Kit is a library with the purpose of creating and consuming SAML
|
|
12
8
|
documents. It supports the HTTP Post and HTTP Redirect bindings. It can
|
|
13
9
|
create Service Provider Metadata, Identity Provider Metadata,
|
|
14
|
-
AuthnRequest, Response, LogoutRequest, LogoutResponse documents.
|
|
10
|
+
AuthnRequest, Response, LogoutRequest, LogoutResponse documents.
|
|
15
11
|
It also supports generating signed and encrypted assertions.
|
|
16
12
|
|
|
17
13
|
## Installation
|
|
@@ -249,13 +245,13 @@ puts [url, saml_params].inspect
|
|
|
249
245
|
|
|
250
246
|
## Development
|
|
251
247
|
|
|
252
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `
|
|
248
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
253
249
|
|
|
254
250
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
|
255
251
|
|
|
256
252
|
## Contributing
|
|
257
253
|
|
|
258
|
-
Bug reports and pull requests are welcome on Github at https://github.com/
|
|
254
|
+
Bug reports and pull requests are welcome on Github at https://github.com/xlgmokha/saml-kit.
|
|
259
255
|
|
|
260
256
|
## License
|
|
261
257
|
|
data/Rakefile
CHANGED
data/lib/saml/kit/assertion.rb
CHANGED
|
@@ -114,19 +114,19 @@ module Saml
|
|
|
114
114
|
def must_match_issuer
|
|
115
115
|
return if audiences.empty? || audiences.include?(configuration.entity_id)
|
|
116
116
|
|
|
117
|
-
errors
|
|
117
|
+
errors.add(:audience, error_message(:must_match_issuer))
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
def must_be_active_session
|
|
121
121
|
return if active?
|
|
122
122
|
|
|
123
|
-
errors
|
|
123
|
+
errors.add(:base, error_message(:expired))
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
def must_have_valid_signature
|
|
127
127
|
return if !signed? || signature.valid?
|
|
128
128
|
|
|
129
|
-
signature.
|
|
129
|
+
signature.each_error do |attribute, message|
|
|
130
130
|
errors.add(attribute, message)
|
|
131
131
|
end
|
|
132
132
|
end
|
|
@@ -47,6 +47,11 @@ module Saml
|
|
|
47
47
|
at_xpath('./*/@AssertionConsumerServiceURL').try(:value)
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
# Returns the ForceAuthn attribute as a boolean.
|
|
51
|
+
def force_authn
|
|
52
|
+
at_xpath('./*/@ForceAuthn').try(:value) == 'true'
|
|
53
|
+
end
|
|
54
|
+
|
|
50
55
|
def name_id_format
|
|
51
56
|
name_id_policy
|
|
52
57
|
end
|
data/lib/saml/kit/bindings.rb
CHANGED
|
@@ -11,10 +11,10 @@ module Saml
|
|
|
11
11
|
# the different SAML bindings that are
|
|
12
12
|
# supported by this gem.
|
|
13
13
|
module Bindings
|
|
14
|
-
BINDINGS_2_0 = 'urn:oasis:names:tc:SAML:2.0:bindings'
|
|
15
|
-
HTTP_ARTIFACT = "#{BINDINGS_2_0}:HTTP-Artifact"
|
|
16
|
-
HTTP_POST = "#{BINDINGS_2_0}:HTTP-POST"
|
|
17
|
-
HTTP_REDIRECT = "#{BINDINGS_2_0}:HTTP-Redirect"
|
|
14
|
+
BINDINGS_2_0 = 'urn:oasis:names:tc:SAML:2.0:bindings'
|
|
15
|
+
HTTP_ARTIFACT = "#{BINDINGS_2_0}:HTTP-Artifact"
|
|
16
|
+
HTTP_POST = "#{BINDINGS_2_0}:HTTP-POST"
|
|
17
|
+
HTTP_REDIRECT = "#{BINDINGS_2_0}:HTTP-Redirect"
|
|
18
18
|
ALL = {
|
|
19
19
|
http_post: HTTP_POST,
|
|
20
20
|
http_redirect: HTTP_REDIRECT,
|
|
@@ -10,6 +10,7 @@ module Saml
|
|
|
10
10
|
attr_accessor :id, :now, :issuer, :assertion_consumer_service_url
|
|
11
11
|
attr_accessor :name_id_format, :destination
|
|
12
12
|
attr_accessor :version
|
|
13
|
+
attr_accessor :force_authn
|
|
13
14
|
attr_reader :configuration
|
|
14
15
|
|
|
15
16
|
def initialize(configuration: Saml::Kit.configuration)
|
|
@@ -36,10 +37,8 @@ module Saml
|
|
|
36
37
|
IssueInstant: now.utc.iso8601,
|
|
37
38
|
Destination: destination,
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
assertion_consumer_service_url
|
|
42
|
-
end
|
|
40
|
+
options[:ForceAuthn] = force_authn unless force_authn.nil?
|
|
41
|
+
options[:AssertionConsumerServiceURL] = assertion_consumer_service_url if assertion_consumer_service_url.present?
|
|
43
42
|
options
|
|
44
43
|
end
|
|
45
44
|
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,8 +53,8 @@ module Saml
|
|
|
53
53
|
return unless signature.present?
|
|
54
54
|
|
|
55
55
|
signature.valid?
|
|
56
|
-
signature.
|
|
57
|
-
errors
|
|
56
|
+
signature.each_error do |attribute, error|
|
|
57
|
+
errors.add(attribute, error)
|
|
58
58
|
end
|
|
59
59
|
end
|
|
60
60
|
|
|
@@ -62,14 +62,14 @@ module Saml
|
|
|
62
62
|
return unless expected_type?
|
|
63
63
|
return if provider.present?
|
|
64
64
|
|
|
65
|
-
errors
|
|
65
|
+
errors.add(:provider, error_message(:unregistered))
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
def must_be_trusted
|
|
69
69
|
return if trusted?
|
|
70
70
|
return if provider.present? && !signed?
|
|
71
71
|
|
|
72
|
-
errors
|
|
72
|
+
errors.add(:fingerprint, error_message(:invalid_fingerprint))
|
|
73
73
|
end
|
|
74
74
|
end
|
|
75
75
|
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
|
|
@@ -101,7 +101,7 @@ module Saml
|
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
def must_be_expected_type
|
|
104
|
-
errors
|
|
104
|
+
errors.add(:base, error_message(:invalid)) unless expected_type?
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
def expected_type?
|
|
@@ -112,7 +112,7 @@ module Saml
|
|
|
112
112
|
return unless expected_type?
|
|
113
113
|
return if version == '2.0'
|
|
114
114
|
|
|
115
|
-
errors
|
|
115
|
+
errors.add(:version, error_message(:invalid_version))
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
118
|
end
|
|
@@ -7,7 +7,7 @@ module Saml
|
|
|
7
7
|
# {include:file:spec/saml/kit/invalid_document_spec.rb}
|
|
8
8
|
class InvalidDocument < Document
|
|
9
9
|
validate do |model|
|
|
10
|
-
model.errors
|
|
10
|
+
model.errors.add(:base, model.error_message(:invalid))
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def initialize(xml, *)
|
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
|
|
@@ -182,7 +182,7 @@ module Saml
|
|
|
182
182
|
end
|
|
183
183
|
|
|
184
184
|
def must_contain_descriptor
|
|
185
|
-
errors
|
|
185
|
+
errors.add(:base, error_message(:invalid)) unless metadata
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
def must_match_xsd
|
|
@@ -192,8 +192,8 @@ module Saml
|
|
|
192
192
|
def must_have_valid_signature
|
|
193
193
|
return if !signature.present? || signature.valid?
|
|
194
194
|
|
|
195
|
-
signature.
|
|
196
|
-
errors
|
|
195
|
+
signature.each_error do |attribute, error|
|
|
196
|
+
errors.add(attribute, error)
|
|
197
197
|
end
|
|
198
198
|
end
|
|
199
199
|
end
|
data/lib/saml/kit/namespaces.rb
CHANGED
|
@@ -3,33 +3,33 @@
|
|
|
3
3
|
module Saml
|
|
4
4
|
module Kit
|
|
5
5
|
module Namespaces
|
|
6
|
-
SAML_2_0 = 'urn:oasis:names:tc:SAML:2.0'
|
|
7
|
-
SAML_1_1 = 'urn:oasis:names:tc:SAML:1.1'
|
|
8
|
-
ATTR_NAME_FORMAT = "#{SAML_2_0}:attrname-format"
|
|
9
|
-
NAME_ID_FORMAT_1_1 = "#{SAML_1_1}:nameid-format"
|
|
10
|
-
NAME_ID_FORMAT_2_0 = "#{SAML_2_0}:nameid-format"
|
|
11
|
-
STATUS = "#{SAML_2_0}:status"
|
|
6
|
+
SAML_2_0 = 'urn:oasis:names:tc:SAML:2.0'
|
|
7
|
+
SAML_1_1 = 'urn:oasis:names:tc:SAML:1.1'
|
|
8
|
+
ATTR_NAME_FORMAT = "#{SAML_2_0}:attrname-format"
|
|
9
|
+
NAME_ID_FORMAT_1_1 = "#{SAML_1_1}:nameid-format"
|
|
10
|
+
NAME_ID_FORMAT_2_0 = "#{SAML_2_0}:nameid-format"
|
|
11
|
+
STATUS = "#{SAML_2_0}:status"
|
|
12
12
|
|
|
13
|
-
ASSERTION = "#{SAML_2_0}:assertion"
|
|
14
|
-
ATTR_SPLAT = "#{ATTR_NAME_FORMAT}:*"
|
|
15
|
-
BASIC = "#{ATTR_NAME_FORMAT}:basic"
|
|
16
|
-
BEARER = "#{SAML_2_0}:cm:bearer"
|
|
17
|
-
EMAIL_ADDRESS = "#{NAME_ID_FORMAT_1_1}:emailAddress"
|
|
18
|
-
INVALID_NAME_ID_POLICY = "#{STATUS}:InvalidNameIDPolicy"
|
|
19
|
-
METADATA = "#{SAML_2_0}:metadata"
|
|
20
|
-
PASSWORD = "#{SAML_2_0}:ac:classes:Password"
|
|
13
|
+
ASSERTION = "#{SAML_2_0}:assertion"
|
|
14
|
+
ATTR_SPLAT = "#{ATTR_NAME_FORMAT}:*"
|
|
15
|
+
BASIC = "#{ATTR_NAME_FORMAT}:basic"
|
|
16
|
+
BEARER = "#{SAML_2_0}:cm:bearer"
|
|
17
|
+
EMAIL_ADDRESS = "#{NAME_ID_FORMAT_1_1}:emailAddress"
|
|
18
|
+
INVALID_NAME_ID_POLICY = "#{STATUS}:InvalidNameIDPolicy"
|
|
19
|
+
METADATA = "#{SAML_2_0}:metadata"
|
|
20
|
+
PASSWORD = "#{SAML_2_0}:ac:classes:Password"
|
|
21
21
|
PASSWORD_PROTECTED =
|
|
22
|
-
"#{SAML_2_0}:ac:classes:PasswordProtectedTransport"
|
|
23
|
-
PERSISTENT = "#{NAME_ID_FORMAT_2_0}:persistent"
|
|
24
|
-
PROTOCOL = "#{SAML_2_0}:protocol"
|
|
25
|
-
REQUESTER_ERROR = "#{STATUS}:Requester"
|
|
26
|
-
RESPONDER_ERROR = "#{STATUS}:Responder"
|
|
27
|
-
SUCCESS = "#{STATUS}:Success"
|
|
28
|
-
TRANSIENT = "#{NAME_ID_FORMAT_2_0}:transient"
|
|
29
|
-
UNSPECIFIED = "#{SAML_2_0}:consent:unspecified"
|
|
30
|
-
UNSPECIFIED_NAMEID = "#{NAME_ID_FORMAT_1_1}:unspecified"
|
|
31
|
-
URI = "#{ATTR_NAME_FORMAT}:uri"
|
|
32
|
-
VERSION_MISMATCH_ERROR = "#{STATUS}:VersionMismatch"
|
|
22
|
+
"#{SAML_2_0}:ac:classes:PasswordProtectedTransport"
|
|
23
|
+
PERSISTENT = "#{NAME_ID_FORMAT_2_0}:persistent"
|
|
24
|
+
PROTOCOL = "#{SAML_2_0}:protocol"
|
|
25
|
+
REQUESTER_ERROR = "#{STATUS}:Requester"
|
|
26
|
+
RESPONDER_ERROR = "#{STATUS}:Responder"
|
|
27
|
+
SUCCESS = "#{STATUS}:Success"
|
|
28
|
+
TRANSIENT = "#{NAME_ID_FORMAT_2_0}:transient"
|
|
29
|
+
UNSPECIFIED = "#{SAML_2_0}:consent:unspecified"
|
|
30
|
+
UNSPECIFIED_NAMEID = "#{NAME_ID_FORMAT_1_1}:unspecified"
|
|
31
|
+
URI = "#{ATTR_NAME_FORMAT}:uri"
|
|
32
|
+
VERSION_MISMATCH_ERROR = "#{STATUS}:VersionMismatch"
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
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
|
|
9
|
+
include Validatable
|
|
10
10
|
include Translatable
|
|
11
11
|
validate :invalid
|
|
12
12
|
|
|
@@ -53,7 +53,7 @@ module Saml
|
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
def invalid
|
|
56
|
-
errors
|
|
56
|
+
errors.add(:assertion, error_message(:invalid))
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
def name
|
data/lib/saml/kit/response.rb
CHANGED
|
@@ -43,16 +43,15 @@ module Saml
|
|
|
43
43
|
|
|
44
44
|
def must_be_valid_assertion
|
|
45
45
|
assertion.valid?
|
|
46
|
-
assertion.
|
|
47
|
-
attribute
|
|
48
|
-
errors[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
|
|
|
52
51
|
def must_contain_single_assertion
|
|
53
52
|
return if assertion_nodes.count <= 1
|
|
54
53
|
|
|
55
|
-
errors
|
|
54
|
+
errors.add(:base, error_message(:must_contain_single_assertion))
|
|
56
55
|
end
|
|
57
56
|
|
|
58
57
|
def assertion_nodes
|
data/lib/saml/kit/signature.rb
CHANGED
|
@@ -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
|
|
9
|
+
include Validatable
|
|
10
10
|
include Translatable
|
|
11
11
|
|
|
12
12
|
validate :validate_signature
|
|
@@ -105,7 +105,7 @@ module Saml
|
|
|
105
105
|
dsignature.errors.each do |attribute|
|
|
106
106
|
errors.add(attribute, error_message(attribute))
|
|
107
107
|
end
|
|
108
|
-
rescue
|
|
108
|
+
rescue StandardError => error
|
|
109
109
|
errors.add(:base, error.message)
|
|
110
110
|
end
|
|
111
111
|
|
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
|
@@ -12,9 +12,9 @@ Gem::Specification.new do |spec|
|
|
|
12
12
|
|
|
13
13
|
spec.summary = 'A simple toolkit for working with SAML.'
|
|
14
14
|
spec.description = 'A simple toolkit for working with SAML.'
|
|
15
|
-
spec.homepage = 'https://github.com/
|
|
15
|
+
spec.homepage = 'https://github.com/xlgmokha/saml-kit'
|
|
16
16
|
spec.license = 'MIT'
|
|
17
|
-
spec.required_ruby_version = '>= 2.
|
|
17
|
+
spec.required_ruby_version = '>= 2.7.0'
|
|
18
18
|
|
|
19
19
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
|
20
20
|
(
|
|
@@ -28,13 +28,13 @@ 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 'net-hippie', '
|
|
33
|
-
spec.add_dependency 'xml-kit', '
|
|
34
|
-
spec.add_development_dependency 'bundler', '~>
|
|
31
|
+
spec.add_dependency 'activemodel', '>= 5.1', '< 8.0'
|
|
32
|
+
spec.add_dependency 'net-hippie', '>= 0.1', '< 2.0'
|
|
33
|
+
spec.add_dependency 'xml-kit', '~> 0.4'
|
|
34
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
35
35
|
spec.add_development_dependency 'bundler-audit', '~> 0.6'
|
|
36
36
|
spec.add_development_dependency 'ffaker', '~> 2.7'
|
|
37
|
-
spec.add_development_dependency 'rake', '~>
|
|
37
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
|
38
38
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
39
39
|
spec.add_development_dependency 'rspec-benchmark', '~> 0.3'
|
|
40
40
|
spec.add_development_dependency 'rubocop', '~> 0.52'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: saml-kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.3.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: 2022-03-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -16,62 +16,68 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: '5.1'
|
|
20
|
+
- - "<"
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '8.0'
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
27
|
- - ">="
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
29
|
+
version: '5.1'
|
|
30
|
+
- - "<"
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '8.0'
|
|
27
33
|
- !ruby/object:Gem::Dependency
|
|
28
34
|
name: net-hippie
|
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
|
30
36
|
requirements:
|
|
31
|
-
- - "
|
|
37
|
+
- - ">="
|
|
32
38
|
- !ruby/object:Gem::Version
|
|
33
39
|
version: '0.1'
|
|
40
|
+
- - "<"
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: '2.0'
|
|
34
43
|
type: :runtime
|
|
35
44
|
prerelease: false
|
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
46
|
requirements:
|
|
38
|
-
- - "
|
|
47
|
+
- - ">="
|
|
39
48
|
- !ruby/object:Gem::Version
|
|
40
49
|
version: '0.1'
|
|
50
|
+
- - "<"
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: '2.0'
|
|
41
53
|
- !ruby/object:Gem::Dependency
|
|
42
54
|
name: xml-kit
|
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
|
44
56
|
requirements:
|
|
45
|
-
- - "
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.3.0
|
|
48
|
-
- - "<"
|
|
57
|
+
- - "~>"
|
|
49
58
|
- !ruby/object:Gem::Version
|
|
50
|
-
version:
|
|
59
|
+
version: '0.4'
|
|
51
60
|
type: :runtime
|
|
52
61
|
prerelease: false
|
|
53
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
54
63
|
requirements:
|
|
55
|
-
- - "
|
|
56
|
-
- !ruby/object:Gem::Version
|
|
57
|
-
version: 0.3.0
|
|
58
|
-
- - "<"
|
|
64
|
+
- - "~>"
|
|
59
65
|
- !ruby/object:Gem::Version
|
|
60
|
-
version:
|
|
66
|
+
version: '0.4'
|
|
61
67
|
- !ruby/object:Gem::Dependency
|
|
62
68
|
name: bundler
|
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
|
64
70
|
requirements:
|
|
65
71
|
- - "~>"
|
|
66
72
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '
|
|
73
|
+
version: '2.0'
|
|
68
74
|
type: :development
|
|
69
75
|
prerelease: false
|
|
70
76
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
77
|
requirements:
|
|
72
78
|
- - "~>"
|
|
73
79
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '
|
|
80
|
+
version: '2.0'
|
|
75
81
|
- !ruby/object:Gem::Dependency
|
|
76
82
|
name: bundler-audit
|
|
77
83
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,14 +112,14 @@ dependencies:
|
|
|
106
112
|
requirements:
|
|
107
113
|
- - "~>"
|
|
108
114
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '
|
|
115
|
+
version: '13.0'
|
|
110
116
|
type: :development
|
|
111
117
|
prerelease: false
|
|
112
118
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
119
|
requirements:
|
|
114
120
|
- - "~>"
|
|
115
121
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
122
|
+
version: '13.0'
|
|
117
123
|
- !ruby/object:Gem::Dependency
|
|
118
124
|
name: rspec
|
|
119
125
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -269,6 +275,7 @@ files:
|
|
|
269
275
|
- lib/saml/kit/concerns/serializable.rb
|
|
270
276
|
- lib/saml/kit/concerns/translatable.rb
|
|
271
277
|
- lib/saml/kit/concerns/trustable.rb
|
|
278
|
+
- lib/saml/kit/concerns/validatable.rb
|
|
272
279
|
- lib/saml/kit/concerns/xml_parseable.rb
|
|
273
280
|
- lib/saml/kit/concerns/xml_templatable.rb
|
|
274
281
|
- lib/saml/kit/concerns/xsd_validatable.rb
|
|
@@ -323,12 +330,12 @@ files:
|
|
|
323
330
|
- spec/examples/response_spec.rb
|
|
324
331
|
- spec/examples/saml-kit.gif
|
|
325
332
|
- spec/examples/service_provider_metadata_spec.rb
|
|
326
|
-
homepage: https://github.com/
|
|
333
|
+
homepage: https://github.com/xlgmokha/saml-kit
|
|
327
334
|
licenses:
|
|
328
335
|
- MIT
|
|
329
336
|
metadata:
|
|
330
337
|
yard.run: yri
|
|
331
|
-
post_install_message:
|
|
338
|
+
post_install_message:
|
|
332
339
|
rdoc_options: []
|
|
333
340
|
require_paths:
|
|
334
341
|
- lib
|
|
@@ -336,16 +343,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
336
343
|
requirements:
|
|
337
344
|
- - ">="
|
|
338
345
|
- !ruby/object:Gem::Version
|
|
339
|
-
version: 2.
|
|
346
|
+
version: 2.7.0
|
|
340
347
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
341
348
|
requirements:
|
|
342
349
|
- - ">="
|
|
343
350
|
- !ruby/object:Gem::Version
|
|
344
351
|
version: '0'
|
|
345
352
|
requirements: []
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
signing_key:
|
|
353
|
+
rubygems_version: 3.3.7
|
|
354
|
+
signing_key:
|
|
349
355
|
specification_version: 4
|
|
350
356
|
summary: A simple toolkit for working with SAML.
|
|
351
357
|
test_files: []
|