saml-kit 1.0.20 → 1.0.21

Sign up to get free protection for your applications and to get access to all the features.
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