Comparing changes
v1.3.0
→
v1.4.0
32 commits
14 files changed
Commits
8958e40
Merge pull request #58 from xlgmokha/dependabot/bundler/activemodel-7.0.4
2022-09-12 15:40:55
9b6f0d9
Merge pull request #51 from xlgmokha/dependabot/bundler/bundler-audit-0.9.1
2022-05-24 11:04:35
e6d1f70
Merge pull request #50 from xlgmokha/dependabot/bundler/activemodel-7.0.3
2022-05-09 21:32:52
ffaf4a3
Merge pull request #49 from xlgmokha/dependabot/bundler/activemodel-7.0.2.4
2022-04-26 23:28:58
80e5048
Merge pull request #47 from xlgmokha/dependabot/bundler/activemodel-7.0.2.3
2022-04-01 15:29:52
Changed files (14)
.github
workflows
lib
saml
spec
examples
.github/workflows/ci.yml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- ruby-version: ['2.7', '3.0', '3.1']
+ ruby-version: ['3.1', '3.2', '3.3', '3.4']
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
@@ -22,7 +22,7 @@ jobs:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
- ruby-version: '2.7'
+ ruby-version: '3.1'
bundler-cache: true
- run: sh bin/style
audit:
@@ -31,6 +31,6 @@ jobs:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
- ruby-version: '2.7'
+ ruby-version: '3.1'
bundler-cache: true
- run: sh bin/audit
lib/saml/kit/document.rb
@@ -53,12 +53,14 @@ module Saml
class << self
CONSTRUCTORS = {
+ 'Assertion' => -> { Saml::Kit::Assertion },
'AuthnRequest' => -> { Saml::Kit::AuthenticationRequest },
'LogoutRequest' => -> { Saml::Kit::LogoutRequest },
'LogoutResponse' => -> { Saml::Kit::LogoutResponse },
'Response' => -> { Saml::Kit::Response },
}.freeze
XPATH = [
+ '/saml:Assertion',
'/samlp:AuthnRequest',
'/samlp:LogoutRequest',
'/samlp:LogoutResponse',
@@ -71,7 +73,10 @@ module Saml
# @param configuration [Saml::Kit::Configuration] configuration to use
# for unpacking the document.
def to_saml_document(xml, configuration: Saml::Kit.configuration)
- namespaces = { samlp: Namespaces::PROTOCOL }
+ namespaces = {
+ saml: Namespaces::ASSERTION,
+ samlp: Namespaces::PROTOCOL,
+ }
element = Nokogiri::XML(xml).at_xpath(XPATH, namespaces)
constructor = CONSTRUCTORS[element.name].try(:call) || InvalidDocument
constructor.new(xml, configuration: configuration)
lib/saml/kit/version.rb
@@ -2,6 +2,6 @@
module Saml
module Kit
- VERSION = '1.3.0'
+ VERSION = '1.4.0'
end
end
spec/examples/saml-kit.gif
Binary file
spec/saml/kit/configuration_spec.rb
@@ -57,7 +57,9 @@ RSpec.describe Saml::Kit::Configuration do
before do
subject.add_key_pair(active_certificate.to_pem, private_key.export, use: :signing)
subject.add_key_pair(expired_certificate.to_pem, private_key.export, use: :signing)
- subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :signing)
+ if Gem::Version.new('3.1.0') > Gem::Version.new(RUBY_VERSION)
+ subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :signing)
+ end
end
specify do
@@ -71,7 +73,9 @@ RSpec.describe Saml::Kit::Configuration do
before do
subject.add_key_pair(active_certificate.to_pem, private_key.export, use: :encryption)
subject.add_key_pair(expired_certificate.to_pem, private_key.export, use: :encryption)
- subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :encryption)
+ if Gem::Version.new('3.1.0') > Gem::Version.new(RUBY_VERSION)
+ subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :encryption)
+ end
end
specify do
@@ -112,7 +116,9 @@ RSpec.describe Saml::Kit::Configuration do
before do
subject.add_key_pair(active_certificate.to_pem, private_key.export, use: :signing)
subject.add_key_pair(expired_certificate.to_pem, private_key.export, use: :signing)
- subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :signing)
+ if Gem::Version.new('3.1.0') > Gem::Version.new(RUBY_VERSION)
+ subject.add_key_pair(unsigned_certificate.to_pem, private_key.export, use: :signing)
+ end
end
specify { expect(subject.key_pairs.count).to be(1) }
spec/saml/kit/document_spec.rb
@@ -50,6 +50,12 @@ RSpec.describe Saml::Kit::Document do
expect(result).to be_instance_of(Saml::Kit::LogoutRequest)
end
+ it 'returns an Assertion' do
+ xml = Saml::Kit::Response.build(user, request).assertion.to_xml
+ result = subject.to_saml_document(xml)
+ expect(result).to be_instance_of(Saml::Kit::Assertion)
+ end
+
it 'returns an invalid document' do
xml = <<-XML
<html>
spec/saml/kit/response_spec.rb
@@ -486,7 +486,9 @@ RSpec.describe Saml::Kit::Response do
public_key = OpenSSL::X509::Certificate.new(certificate_pem).public_key
private_key = OpenSSL::PKey::RSA.new(private_key_pem, password)
- allow(Saml::Kit.configuration).to receive(:private_keys).with(use: :encryption).and_return([private_key])
+ allow(Saml::Kit.configuration).to receive(:private_keys)
+ .with(hash_including(use: :encryption))
+ .and_return([private_key])
cipher = OpenSSL::Cipher.new('AES-128-CBC')
cipher.encrypt
spec/spec_helper.rb
@@ -9,6 +9,7 @@ require 'saml/kit'
require 'saml/kit/rspec'
require 'active_support/core_ext/string/strip'
require 'active_support/testing/time_helpers'
+require 'erb'
require 'ffaker'
require 'webmock/rspec'
.rubocop.yml
@@ -1,7 +1,7 @@
inherit_from: .rubocop_todo.yml
-require:
- - rubocop/cop/internal_affairs
+plugins:
+ - rubocop-internal_affairs
- rubocop-rspec
AllCops:
@@ -12,7 +12,7 @@ AllCops:
- 'spec/examples/**/*'
- 'tmp/**/*'
- 'vendor/**/*'
- TargetRubyVersion: 2.7
+ TargetRubyVersion: 3.1
Layout/ArgumentAlignment:
EnforcedStyle: with_fixed_indentation
@@ -47,6 +47,13 @@ Layout/FirstArrayElementIndentation:
Layout/HeredocIndentation:
EnforcedStyle: active_support
+Layout/LineLength:
+ Exclude:
+ - 'lib/saml/kit/builders/templates/*.builder'
+ - 'spec/**/*.rb'
+ IgnoredPatterns:
+ - '^#*'
+
Layout/MultilineMethodCallIndentation:
Enabled: true
EnforcedStyle: indented
@@ -71,13 +78,6 @@ Metrics/ModuleLength:
Exclude:
- 'spec/**/*.rb'
-Metrics/LineLength:
- Exclude:
- - 'lib/saml/kit/builders/templates/*.builder'
- - 'spec/**/*.rb'
- IgnoredPatterns:
- - '^#*'
-
Naming/FileName:
Exclude:
- 'lib/saml-kit.rb'
.rubocop_todo.yml
@@ -1,21 +1,164 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
-# on 2018-03-16 13:38:09 -0600 using RuboCop version 0.53.0.
+# on 2025-03-26 20:04:33 UTC using RuboCop version 1.75.1.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
+# Offense count: 1
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyleAlignWith, Severity.
+# SupportedStylesAlignWith: start_of_line, begin
+Layout/BeginEndAlignment:
+ Exclude:
+ - 'exe/saml-kit-decode-http-redirect'
+
+# Offense count: 3
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: Categories, ExpectedOrder.
+# ExpectedOrder: module_inclusion, constants, public_class_methods, initializer, public_methods, protected_methods, private_methods
+Layout/ClassStructure:
+ Exclude:
+ - 'lib/saml/kit/identity_provider_metadata.rb'
+ - 'lib/saml/kit/metadata.rb'
+ - 'lib/saml/kit/service_provider_metadata.rb'
+
+# Offense count: 4
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: AllowAliasSyntax, AllowedMethods.
+# AllowedMethods: alias_method, public, protected, private
+Layout/EmptyLinesAroundAttributeAccessor:
+ Exclude:
+ - 'lib/saml/kit/builders/encrypted_assertion.rb'
+ - 'lib/saml/kit/builders/identity_provider_metadata.rb'
+ - 'lib/saml/kit/builders/service_provider_metadata.rb'
+ - 'lib/saml/kit/document.rb'
+
+# Offense count: 1
+# This cop supports safe autocorrection (--autocorrect).
+Layout/RescueEnsureAlignment:
+ Exclude:
+ - 'exe/saml-kit-decode-http-redirect'
+
+# Offense count: 15
+# This cop supports safe autocorrection (--autocorrect).
+Lint/DeprecatedOpenSSLConstant:
+ Exclude:
+ - 'lib/saml/kit/bindings/http_redirect.rb'
+ - 'lib/saml/kit/bindings/url_builder.rb'
+ - 'spec/saml/kit/authentication_request_spec.rb'
+ - 'spec/saml/kit/bindings/url_builder_spec.rb'
+ - 'spec/saml/kit/configuration_spec.rb'
+ - 'spec/saml/kit/signature_spec.rb'
+
# Offense count: 2
+# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 19
-# Offense count: 11
-# Configuration parameters: CountComments.
+# Offense count: 5
+# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
Max: 13
# Offense count: 1
-Style/DateTime:
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: be, be_nil
+RSpec/BeNil:
+ Exclude:
+ - 'spec/saml/kit/kit_spec.rb'
+
+# Offense count: 2
+RSpec/IdenticalEqualityAssertion:
+ Exclude:
+ - 'spec/saml/kit/bindings/http_post_spec.rb'
+ - 'spec/saml/kit/logout_response_spec.rb'
+
+# Offense count: 39
+# This cop supports safe autocorrection (--autocorrect).
+RSpec/MatchArray:
+ Exclude:
+ - 'spec/saml/kit/assertion_spec.rb'
+ - 'spec/saml/kit/builders/identity_provider_metadata_spec.rb'
+ - 'spec/saml/kit/builders/service_provider_metadata_spec.rb'
+ - 'spec/saml/kit/composite_metadata_spec.rb'
+ - 'spec/saml/kit/configuration_spec.rb'
+ - 'spec/saml/kit/default_registry_spec.rb'
+ - 'spec/saml/kit/identity_provider_metadata_spec.rb'
+ - 'spec/saml/kit/response_spec.rb'
+ - 'spec/saml/kit/service_provider_metadata_spec.rb'
+ - 'spec/saml/kit/signature_spec.rb'
+
+# Offense count: 4
+# This cop supports unsafe autocorrection (--autocorrect-all).
+RSpec/ReceiveMessages:
+ Exclude:
+ - 'spec/saml/kit/logout_request_spec.rb'
+
+# Offense count: 1
+# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
+# Include: **/*_spec.rb
+RSpec/SpecFilePathFormat:
+ Exclude:
+ - '**/spec/routing/**/*'
+ - 'spec/saml/kit/kit_spec.rb'
+
+# Offense count: 1
+RSpec/SubjectDeclaration:
+ Exclude:
+ - 'spec/saml/kit/identity_provider_metadata_spec.rb'
+
+# Offense count: 19
+# This cop supports safe autocorrection (--autocorrect).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: separated, grouped
+Style/AccessorGrouping:
+ Exclude:
+ - 'lib/saml/kit/builders/assertion.rb'
+ - 'lib/saml/kit/builders/authentication_request.rb'
+ - 'lib/saml/kit/builders/identity_provider_metadata.rb'
+ - 'lib/saml/kit/builders/logout_response.rb'
+ - 'lib/saml/kit/builders/metadata.rb'
+ - 'lib/saml/kit/builders/service_provider_metadata.rb'
+
+# Offense count: 3
+# This cop supports safe autocorrection (--autocorrect).
+Style/ExplicitBlockArgument:
+ Exclude:
+ - 'lib/saml/kit/concerns/validatable.rb'
+ - 'lib/saml/kit/default_registry.rb'
+ - 'spec/support/ruby_prof.rb'
+
+# Offense count: 4
+# This cop supports unsafe autocorrection (--autocorrect-all).
+Style/GlobalStdStream:
+ Exclude:
+ - 'exe/saml-kit-create-self-signed-certificate'
+ - 'exe/saml-kit-decode-http-post'
+ - 'exe/saml-kit-decode-http-redirect'
+ - 'lib/saml/kit/configuration.rb'
+
+# Offense count: 1
+# This cop supports safe autocorrection (--autocorrect).
+Style/IfUnlessModifier:
+ Exclude:
+ - 'lib/saml/kit/builders/authentication_request.rb'
+
+# Offense count: 26
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: literals, strict
+Style/MutableConstant:
+ Exclude:
+ - 'lib/saml/kit/bindings.rb'
+ - 'lib/saml/kit/namespaces.rb'
+
+# Offense count: 1
+# This cop supports unsafe autocorrection (--autocorrect-all).
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: forbid_for_all_comparison_operators, forbid_for_equality_operators_only, require_for_all_comparison_operators, require_for_equality_operators_only
+Style/YodaCondition:
Exclude:
- - 'lib/saml/kit/conditions.rb'
+ - 'lib/saml/kit/concerns/respondable.rb'
CHANGELOG.md
@@ -1,4 +1,4 @@
-Version 1.3.0
+Version 1.4.0
# Changelog
All notable changes to this project will be documented in this file.
@@ -8,6 +8,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
+## [1.4.0] - 2025-03-26
+### Added
+- Add support for converting `Assertion` xml to `Saml::Document`
+
+### Removed
+- Drop support for ruby 2.7
+- Drop support for ruby 3.0
+
## [1.3.0] - 2022-03-30
### Removed
@@ -98,7 +106,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Removed
- Removed optional SessionNotOnOrAfter attribute from AuthnStatement.
-[Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.3.0...HEAD
+[Unreleased]: https://github.com/xlgmokha/saml-kit/compare/v1.4.0...HEAD
+[1.4.0]: https://github.com/xlgmokha/saml-kit/compare/v1.3.0...v1.4.0
[1.3.0]: https://github.com/xlgmokha/saml-kit/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/xlgmokha/saml-kit/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/xlgmokha/saml-kit/compare/v1.0.31...v1.1.0
Gemfile.lock
@@ -1,114 +1,167 @@
PATH
remote: .
specs:
- saml-kit (1.3.0)
- activemodel (>= 5.1, < 8.0)
- net-hippie (>= 0.1, < 2.0)
+ saml-kit (1.4.0)
+ activemodel (>= 5.1)
+ base64 (~> 0.1)
+ cgi (~> 0.1)
+ forwardable (~> 1.0)
+ logger (~> 1.0)
+ net-hippie (~> 1.0)
+ nokogiri (~> 1.0)
+ securerandom (~> 0.1)
+ uri (~> 1.0)
xml-kit (~> 0.4)
GEM
remote: https://rubygems.org/
specs:
- activemodel (6.1.5)
- activesupport (= 6.1.5)
- activesupport (6.1.5)
- concurrent-ruby (~> 1.0, >= 1.0.2)
+ activemodel (7.2.2.1)
+ activesupport (= 7.2.2.1)
+ activesupport (7.2.2.1)
+ base64
+ benchmark (>= 0.3)
+ bigdecimal
+ concurrent-ruby (~> 1.0, >= 1.3.1)
+ connection_pool (>= 2.2.5)
+ drb
i18n (>= 1.6, < 2)
+ logger (>= 1.4.2)
minitest (>= 5.1)
- tzinfo (~> 2.0)
- zeitwerk (~> 2.3)
- addressable (2.8.0)
- public_suffix (>= 2.0.2, < 5.0)
- ast (2.4.2)
+ securerandom (>= 0.3)
+ tzinfo (~> 2.0, >= 2.0.5)
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ ast (2.4.3)
+ base64 (0.2.0)
+ benchmark (0.4.0)
benchmark-malloc (0.2.0)
benchmark-perf (0.6.0)
benchmark-trend (0.4.0)
- builder (3.2.4)
- bundler-audit (0.9.0.1)
+ bigdecimal (3.1.9)
+ builder (3.3.0)
+ bundler-audit (0.9.2)
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
- concurrent-ruby (1.1.10)
- crack (0.4.5)
+ cgi (0.4.2)
+ concurrent-ruby (1.3.5)
+ connection_pool (2.5.0)
+ crack (1.0.0)
+ bigdecimal
rexml
- diff-lcs (1.5.0)
- docile (1.3.5)
- ffaker (2.20.0)
- hashdiff (1.0.1)
- i18n (1.10.0)
+ date (3.4.1)
+ diff-lcs (1.6.1)
+ docile (1.4.1)
+ drb (2.2.1)
+ erb (4.0.4)
+ cgi (>= 0.3.3)
+ ffaker (2.24.0)
+ forwardable (1.3.3)
+ hashdiff (1.1.2)
+ i18n (1.14.7)
concurrent-ruby (~> 1.0)
- mini_portile2 (2.8.0)
- minitest (5.15.0)
- net-hippie (1.1.1)
- nokogiri (1.13.3)
- mini_portile2 (~> 2.8.0)
+ io-console (0.8.0)
+ irb (1.15.1)
+ pp (>= 0.6.0)
+ rdoc (>= 4.0.0)
+ reline (>= 0.4.2)
+ json (2.10.2)
+ language_server-protocol (3.17.0.4)
+ lint_roller (1.1.0)
+ logger (1.6.6)
+ mini_portile2 (2.8.8)
+ minitest (5.25.5)
+ net-hippie (1.2.0)
+ logger (~> 1.0)
+ nokogiri (1.18.6)
+ mini_portile2 (~> 2.8.2)
racc (~> 1.4)
- parallel (1.20.1)
- parser (3.0.0.0)
+ parallel (1.26.3)
+ parser (3.3.7.3)
ast (~> 2.4.1)
- public_suffix (4.0.6)
- racc (1.6.0)
- rainbow (3.0.0)
- rake (13.0.6)
- regexp_parser (2.0.3)
- rexml (3.2.5)
- rspec (3.11.0)
- rspec-core (~> 3.11.0)
- rspec-expectations (~> 3.11.0)
- rspec-mocks (~> 3.11.0)
+ racc
+ pp (0.6.2)
+ prettyprint
+ prettyprint (0.2.0)
+ prism (1.4.0)
+ psych (5.2.3)
+ date
+ stringio
+ public_suffix (6.0.1)
+ racc (1.8.1)
+ rainbow (3.1.1)
+ rake (13.2.1)
+ rdoc (6.13.0)
+ psych (>= 4.0.0)
+ regexp_parser (2.10.0)
+ reline (0.6.0)
+ io-console (~> 0.5)
+ rexml (3.4.1)
+ rspec (3.13.0)
+ rspec-core (~> 3.13.0)
+ rspec-expectations (~> 3.13.0)
+ rspec-mocks (~> 3.13.0)
rspec-benchmark (0.6.0)
benchmark-malloc (~> 0.2)
benchmark-perf (~> 0.6)
benchmark-trend (~> 0.4)
rspec (>= 3.0)
- rspec-core (3.11.0)
- rspec-support (~> 3.11.0)
- rspec-expectations (3.11.0)
+ rspec-core (3.13.3)
+ rspec-support (~> 3.13.0)
+ rspec-expectations (3.13.3)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
- rspec-mocks (3.11.0)
+ rspec-support (~> 3.13.0)
+ rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.11.0)
- rspec-support (3.11.0)
- rubocop (0.93.1)
+ rspec-support (~> 3.13.0)
+ rspec-support (3.13.2)
+ rubocop (1.75.1)
+ json (~> 2.3)
+ language_server-protocol (~> 3.17.0.2)
+ lint_roller (~> 1.1.0)
parallel (~> 1.10)
- parser (>= 2.7.1.5)
+ parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
- regexp_parser (>= 1.8)
- rexml
- rubocop-ast (>= 0.6.0)
+ regexp_parser (>= 2.9.3, < 3.0)
+ rubocop-ast (>= 1.43.0, < 2.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 1.4.0, < 2.0)
- rubocop-ast (1.4.1)
- parser (>= 2.7.1.5)
- rubocop-rspec (1.44.1)
- rubocop (~> 0.87)
- rubocop-ast (>= 0.7.1)
- ruby-prof (1.4.3)
- ruby-progressbar (1.11.0)
- simplecov (0.21.2)
+ unicode-display_width (>= 2.4.0, < 4.0)
+ rubocop-ast (1.43.0)
+ parser (>= 3.3.7.2)
+ prism (~> 1.4)
+ rubocop-rspec (3.5.0)
+ lint_roller (~> 1.1)
+ rubocop (~> 1.72, >= 1.72.1)
+ ruby-prof (1.7.1)
+ ruby-progressbar (1.13.0)
+ securerandom (0.4.1)
+ simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
- simplecov-html (0.12.3)
- simplecov_json_formatter (0.1.2)
- thor (1.1.0)
- tilt (2.0.10)
- tzinfo (2.0.4)
+ simplecov-html (0.13.1)
+ simplecov_json_formatter (0.1.4)
+ stringio (3.1.6)
+ thor (1.3.2)
+ tilt (2.6.0)
+ tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- unicode-display_width (1.7.0)
- webmock (3.14.0)
+ unicode-display_width (3.1.4)
+ unicode-emoji (~> 4.0, >= 4.0.4)
+ unicode-emoji (4.0.4)
+ uri (1.0.3)
+ webmock (3.25.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- xml-kit (0.5.0)
+ xml-kit (0.6.0)
activemodel (>= 4.2.0)
builder (~> 3.2)
nokogiri (~> 1.10)
tilt (>= 1.4.1)
xmldsig (~> 0.6)
- xmldsig (0.6.6)
+ xmldsig (0.7.0)
nokogiri (>= 1.6.8, < 2.0.0)
- zeitwerk (2.5.4)
PLATFORMS
ruby
@@ -116,16 +169,18 @@ PLATFORMS
DEPENDENCIES
bundler (~> 2.0)
bundler-audit (~> 0.6)
+ erb (~> 4.0)
ffaker (~> 2.7)
+ irb (~> 1.0)
rake (~> 13.0)
rspec (~> 3.0)
rspec-benchmark (~> 0.3)
- rubocop (~> 0.52)
- rubocop-rspec (~> 1.22)
+ rubocop (~> 1.0)
+ rubocop-rspec (~> 3.0)
ruby-prof
saml-kit!
simplecov (~> 0.15)
webmock (~> 3.1)
BUNDLED WITH
- 2.1.4
+ 2.6.6
README.md
@@ -1,9 +1,3 @@
-
-
-*Logo courtesy of [@speasley](https://github.com/speasley)*
-
-[](https://rubygems.org/gems/saml-kit)
-
Saml::Kit is a library with the purpose of creating and consuming SAML
documents. It supports the HTTP Post and HTTP Redirect bindings. It can
create Service Provider Metadata, Identity Provider Metadata,
saml-kit.gemspec
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
spec.description = 'A simple toolkit for working with SAML.'
spec.homepage = 'https://github.com/xlgmokha/saml-kit'
spec.license = 'MIT'
- spec.required_ruby_version = '>= 2.7.0'
+ spec.required_ruby_version = '>= 3.1.0'
spec.files = `git ls-files -z`.split("\x0").reject do |f|
(
@@ -28,17 +28,26 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']
- spec.add_dependency 'activemodel', '>= 5.1', '< 8.0'
- spec.add_dependency 'net-hippie', '>= 0.1', '< 2.0'
+ spec.add_dependency 'activemodel', '>= 5.1'
+ spec.add_dependency 'base64', '~> 0.1'
+ spec.add_dependency 'cgi', '~> 0.1'
+ spec.add_dependency 'forwardable', '~> 1.0'
+ spec.add_dependency 'logger', '~> 1.0'
+ spec.add_dependency 'net-hippie', '~> 1.0'
+ spec.add_dependency 'nokogiri', '~> 1.0'
+ spec.add_dependency 'securerandom', '~> 0.1'
+ spec.add_dependency 'uri', '~> 1.0'
spec.add_dependency 'xml-kit', '~> 0.4'
spec.add_development_dependency 'bundler', '~> 2.0'
spec.add_development_dependency 'bundler-audit', '~> 0.6'
+ spec.add_development_dependency 'erb', '~> 4.0'
spec.add_development_dependency 'ffaker', '~> 2.7'
+ spec.add_development_dependency 'irb', '~> 1.0'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rspec', '~> 3.0'
spec.add_development_dependency 'rspec-benchmark', '~> 0.3'
- spec.add_development_dependency 'rubocop', '~> 0.52'
- spec.add_development_dependency 'rubocop-rspec', '~> 1.22'
+ spec.add_development_dependency 'rubocop', '~> 1.0'
+ spec.add_development_dependency 'rubocop-rspec', '~> 3.0'
spec.add_development_dependency 'ruby-prof'
spec.add_development_dependency 'simplecov', '~> 0.15'
spec.add_development_dependency 'webmock', '~> 3.1'