saml-kit 1.0.20 → 1.0.21

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: 125a2e6ca5411fe3311326b6b384b12ca154641189e8154671f99d7d773126a9
4
- data.tar.gz: a6caa6b5c45cd823f8c2173c274a09cb4623d47056176c627e05641a99e42035
3
+ metadata.gz: 4b9090d1204b9122f05738060c8e5a386a698bbe9b842e9fee62f14904f40087
4
+ data.tar.gz: 90268d315dcb2bcef6a7b3d7d34654c7ea1ac315f621e996cea1f056d5f83a5d
5
5
  SHA512:
6
- metadata.gz: 16bf24aa308395aed4f74ad9dda46802d8cdb5659448fca0fe2c258ba5973d784ac37338c238b16835d6a34bc15223b89b2216416b04d985223a279ead5c92f0
7
- data.tar.gz: 39542cb68f6668d8fffbdabc5fcb975ca2a1d99d03001c647b36296e5b6699e28cf7f844ad2056fdc716b08d9eaa6864fdaefa13165737ab1b86e983ff49801d
6
+ metadata.gz: 69d80d1b61c14dbddc90f96816a1065329ae44896ee71ff6323a0279d35185253054af28ff5cfd3566e349a1346e71e2c4c7c05e48f424bfe95d3b3cdc5d6887
7
+ data.tar.gz: f80bef1f575ce62f8e0c084ff7ed8f0ff10f91802840384637ccd9e868fe1294b554440a1901ac9494be423301d6486f4d19ce3a3b9419e44b99954f17fad230
data/lib/saml/kit.rb CHANGED
@@ -11,7 +11,7 @@ require 'active_support/deprecation'
11
11
  require 'active_support/duration'
12
12
  require 'forwardable'
13
13
  require 'logger'
14
- require 'net/http'
14
+ require 'net/hippie'
15
15
  require 'nokogiri'
16
16
  require 'securerandom'
17
17
  require 'uri'
@@ -52,7 +52,6 @@ module Saml
52
52
  def subject_confirmation_data_options
53
53
  options = {}
54
54
  options[:InResponseTo] = request.id if request.present?
55
- options[:NotOnOrAfter] = (not_on_or_after - 1.second).iso8601
56
55
  options[:Recipient] = destination if destination.present?
57
56
  options
58
57
  end
@@ -55,8 +55,10 @@ module Saml
55
55
  # @param url [String] the url to download the metadata from.
56
56
  # @param verify_ssl [Boolean] enable/disable SSL peer verification.
57
57
  def register_url(url, verify_ssl: true)
58
- content = HttpApi.new(url, verify_ssl: verify_ssl).get
59
- register(Saml::Kit::Metadata.from(content))
58
+ headers = { 'User-Agent' => "saml/kit #{Saml::Kit::VERSION}" }
59
+ verify_mode = verify_ssl ? nil : OpenSSL::SSL::VERIFY_NONE
60
+ client = Net::Hippie::Client.new(headers: headers, verify_mode: verify_mode)
61
+ register(Saml::Kit::Metadata.from(client.get(url).body))
60
62
  end
61
63
 
62
64
  # Returns the metadata document associated with an issuer or entityID.
@@ -74,7 +76,7 @@ module Saml
74
76
  end
75
77
  end
76
78
 
77
- private
79
+ protected
78
80
 
79
81
  def ensure_valid_metadata(metadata)
80
82
  error = ArgumentError.new('Cannot register invalid metadata')
@@ -83,37 +85,6 @@ module Saml
83
85
  !metadata.respond_to?(:entity_id) ||
84
86
  metadata.invalid?
85
87
  end
86
-
87
- # This class is responsible for
88
- # making HTTP requests to fetch metadata
89
- # from remote locations.
90
- class HttpApi # :nodoc:
91
- def initialize(url, verify_ssl: true)
92
- @uri = URI.parse(url)
93
- @verify_ssl = verify_ssl
94
- end
95
-
96
- def get
97
- execute(Net::HTTP::Get.new(uri.request_uri)).body
98
- end
99
-
100
- def execute(request)
101
- http.request(request)
102
- end
103
-
104
- private
105
-
106
- attr_reader :uri, :verify_ssl
107
-
108
- def http
109
- http = Net::HTTP.new(uri.host, uri.port)
110
- http.read_timeout = 30
111
- http.use_ssl = uri.is_a?(URI::HTTPS)
112
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE unless verify_ssl
113
- http.set_debug_output(Saml::Kit.logger)
114
- http
115
- end
116
- end
117
88
  end
118
89
  end
119
90
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Saml
4
4
  module Kit
5
- VERSION = '1.0.20'.freeze
5
+ VERSION = '1.0.21'.freeze
6
6
  end
7
7
  end
data/saml-kit.gemspec CHANGED
@@ -29,6 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.require_paths = ['lib']
30
30
 
31
31
  spec.add_dependency 'activemodel', '>= 4.2.0'
32
+ spec.add_dependency 'net-hippie', '~> 0.1.8'
32
33
  spec.add_dependency 'xml-kit', '>= 0.1.13', '<= 1.0.0'
33
34
  spec.add_development_dependency 'bundler', '~> 1.15'
34
35
  spec.add_development_dependency 'bundler-audit', '~> 0.6'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saml-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.20
4
+ version: 1.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo khan
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: net-hippie
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.1.8
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.8
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: xml-kit
29
43
  requirement: !ruby/object:Gem::Requirement